From 07a556c40f5956a69cf4559a7a6a391470d57aa0 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Fri, 25 Feb 2022 08:55:54 +0100 Subject: [PATCH] Popup dialog on wipe signal sent successfully --- .../activate/ActivateRemoteWipeActivity.java | 2 +- .../ActivateRemoteWipeExplainerFragment.java | 23 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeActivity.java index 0e2406de8..4f450de53 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeActivity.java @@ -56,7 +56,7 @@ public class ActivateRemoteWipeActivity extends BriarActivity implements Toast.LENGTH_LONG).show(); break; case SUCCESS: - showNextFragment(new ActivateRemoteWipeSuccessFragment()); + // Handled by the popup dialog on the explainer break; default: // FINISHED or CANCELLED finish(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeExplainerFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeExplainerFragment.java index b0d1aca31..e809ae245 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeExplainerFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeExplainerFragment.java @@ -15,10 +15,10 @@ import javax.inject.Inject; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; import androidx.lifecycle.ViewModelProvider; -public class ActivateRemoteWipeExplainerFragment extends - BaseFragment { +public class ActivateRemoteWipeExplainerFragment extends BaseFragment { public static final String TAG = ActivateRemoteWipeExplainerFragment.class.getName(); @@ -54,11 +54,30 @@ public class ActivateRemoteWipeExplainerFragment extends Button confirmButton = view.findViewById(R.id.button_confirm); confirmButton.setOnClickListener(e -> viewModel.onConfirmClicked()); + + viewModel.getState().observe(getViewLifecycleOwner(), this::onStateChanged); return view; } + private void onStateChanged(ActivateRemoteWipeState state) { + if (state == ActivateRemoteWipeState.SUCCESS) { + showSuccessDialog(); + } + } + @Override public String getUniqueTag() { return TAG; } + + private void showSuccessDialog() { + AlertDialog.Builder builder = new AlertDialog.Builder(requireContext(), + R.style.BriarDialogTheme); + builder.setTitle(R.string.remote_wipe_activate_success); + builder.setPositiveButton(R.string.ok, + (dialog, which) -> viewModel.onSuccessDismissed()); + builder.setIcon(R.drawable.ic_baseline_done_outline_24); + AlertDialog dialog = builder.create(); + dialog.show(); + } }