From d8a0b6f877ca5c03def0ff55aefce06886c92a1e Mon Sep 17 00:00:00 2001 From: ameba23 Date: Mon, 17 May 2021 17:14:58 +0200 Subject: [PATCH] Add remote wipe menu item to ConversationActivity --- .../org/briarproject/briar/android/AppModule.java | 4 ++-- .../android/conversation/ConversationActivity.java | 7 +++++++ .../briar/android/remotewipe/RemoteWipeModule.java | 9 ++++++++- .../activate/ActivateRemoteWipeViewModel.java | 14 +++++++++++++- .../src/main/res/menu/conversation_actions.xml | 6 ++++++ briar-android/src/main/res/values/strings.xml | 1 + 6 files changed, 37 insertions(+), 4 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java index e66faeba2..cacbc3f29 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java @@ -39,7 +39,7 @@ import org.briarproject.briar.android.login.LoginModule; import org.briarproject.briar.android.navdrawer.NavDrawerModule; import org.briarproject.briar.android.privategroup.conversation.GroupConversationModule; import org.briarproject.briar.android.privategroup.list.GroupListModule; -import org.briarproject.briar.android.remotewipe.RemoteWipeSetupModule; +import org.briarproject.briar.android.remotewipe.RemoteWipeModule; import org.briarproject.briar.android.reporting.DevReportModule; import org.briarproject.briar.android.settings.SettingsModule; import org.briarproject.briar.android.sharing.SharingModule; @@ -96,7 +96,7 @@ import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD; SharingModule.class, OwnerReturnShardModule.class, CustodianReturnShardModule.class, - RemoteWipeSetupModule.class + RemoteWipeModule.class }) public class AppModule { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java index 3c9cb48f8..5c09aac3f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java @@ -52,6 +52,7 @@ import org.briarproject.briar.android.conversation.ConversationVisitor.TextCache import org.briarproject.briar.android.forum.ForumActivity; import org.briarproject.briar.android.introduction.IntroductionActivity; import org.briarproject.briar.android.privategroup.conversation.GroupActivity; +import org.briarproject.briar.android.remotewipe.activate.ActivateRemoteWipeActivity; import org.briarproject.briar.android.socialbackup.recover.CustodianReturnShardActivity; import org.briarproject.briar.android.util.BriarSnackbarBuilder; import org.briarproject.briar.android.view.BriarRecyclerView; @@ -403,6 +404,12 @@ public class ConversationActivity extends BriarActivity i.putExtra(CONTACT_ID, contactId.getInt()); startActivity(i); return true; + case R.id.action_remote_wipe: + if (contactId == null) return false; + Intent r = new Intent(this, ActivateRemoteWipeActivity.class); + r.putExtra(CONTACT_ID, contactId.getInt()); + startActivity(r); + return true; default: return super.onOptionsItemSelected(item); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeModule.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeModule.java index f5b90d2f6..47cc5ff1d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeModule.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeModule.java @@ -1,5 +1,6 @@ package org.briarproject.briar.android.remotewipe; +import org.briarproject.briar.android.remotewipe.activate.ActivateRemoteWipeViewModel; import org.briarproject.briar.android.viewmodel.ViewModelKey; import androidx.lifecycle.ViewModel; @@ -8,11 +9,17 @@ import dagger.Module; import dagger.multibindings.IntoMap; @Module -public abstract class RemoteWipeSetupModule { +public abstract class RemoteWipeModule { @Binds @IntoMap @ViewModelKey(RemoteWipeSetupViewModel.class) abstract ViewModel bindRemoteWipeSetupViewModel( RemoteWipeSetupViewModel remoteWipeSetupViewModel); + + @Binds + @IntoMap + @ViewModelKey(ActivateRemoteWipeViewModel.class) + abstract ViewModel bindActivateRemoteWipeViewModel( + ActivateRemoteWipeViewModel activateRemoteWipeViewModel); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeViewModel.java index 5200c442f..8fa73047a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeViewModel.java @@ -1,4 +1,16 @@ package org.briarproject.briar.android.remotewipe.activate; -public class ActivateRemoteWipeViewModel { +import android.app.Application; + +import javax.inject.Inject; + +import androidx.annotation.NonNull; +import androidx.lifecycle.AndroidViewModel; + +public class ActivateRemoteWipeViewModel extends AndroidViewModel { + @Inject + public ActivateRemoteWipeViewModel( + @NonNull Application application) { + super(application); + } } diff --git a/briar-android/src/main/res/menu/conversation_actions.xml b/briar-android/src/main/res/menu/conversation_actions.xml index da47ae7d4..801e7d85e 100644 --- a/briar-android/src/main/res/menu/conversation_actions.xml +++ b/briar-android/src/main/res/menu/conversation_actions.xml @@ -32,4 +32,10 @@ android:icon="@drawable/introduction_white" android:title="@string/help_recover_account" app:showAsAction="never"/> + + \ No newline at end of file diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index 89f59217d..27a465f33 100644 --- a/briar-android/src/main/res/values/strings.xml +++ b/briar-android/src/main/res/values/strings.xml @@ -744,5 +744,6 @@ You have added this contact as a remote wiper. Remote Wipe Your assigned trusted wipers + Activate remote wipe