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"> - -