From 088a4ee7b22c2f840c34e44a7036429135d3db9b Mon Sep 17 00:00:00 2001 From: ameba23 Date: Wed, 2 Mar 2022 16:49:27 +0100 Subject: [PATCH] Buttons on remote wipe display fragment --- .../remotewipe/RemoteWipeDisplayFragment.java | 7 +++- .../remotewipe/RemoteWipeSetupViewModel.java | 11 ++++++ .../layout/fragment_remote_wipe_display.xml | 39 +++++++++++++++---- briar-android/src/main/res/values/strings.xml | 2 + briar-android/src/main/res/values/styles.xml | 6 +++ 5 files changed, 56 insertions(+), 9 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeDisplayFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeDisplayFragment.java index 3b3e09c05..a3a1fde19 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeDisplayFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeDisplayFragment.java @@ -63,8 +63,11 @@ public class RemoteWipeDisplayFragment extends BaseFragment .onSuccess(adapter::submitList) ); - Button button = contentView.findViewById(R.id.button_change); - button.setOnClickListener(e -> viewModel.onModifyWipers()); + Button changeWipersButton = contentView.findViewById(R.id.button_change); + changeWipersButton.setOnClickListener(e -> viewModel.onModifyWipers()); + + Button disableRemoteWipeButton = contentView.findViewById(R.id.button_cancel); + disableRemoteWipeButton.setOnClickListener(e -> viewModel.onDisableRemoteWipe()); return contentView; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupViewModel.java index 33523552b..b7263fe05 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupViewModel.java @@ -18,6 +18,7 @@ import org.briarproject.briar.api.conversation.ConversationManager; import org.briarproject.briar.api.identity.AuthorManager; import org.briarproject.briar.api.remotewipe.RemoteWipeManager; +import java.text.Normalizer; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -107,6 +108,16 @@ public class RemoteWipeSetupViewModel extends ContactsViewModel { state.postValue(RemoteWipeSetupState.MODIFY); } + @UiThread + public void onDisableRemoteWipe() { + try { + db.transaction(false, remoteWipeManager::revokeAll); + } catch (DbException | FormatException e) { + e.printStackTrace(); + } + state.postValue(RemoteWipeSetupState.FINISHED); + } + public void setupRemoteWipe(Collection wipers) throws DbException, FormatException { db.transaction(false, txn -> { diff --git a/briar-android/src/main/res/layout/fragment_remote_wipe_display.xml b/briar-android/src/main/res/layout/fragment_remote_wipe_display.xml index b60e04f18..179feeb06 100644 --- a/briar-android/src/main/res/layout/fragment_remote_wipe_display.xml +++ b/briar-android/src/main/res/layout/fragment_remote_wipe_display.xml @@ -11,22 +11,47 @@ android:paddingBottom="@dimen/margin_medium" tools:ignore="VectorDrawableCompat"> - -