From b453f9b33a625a353f44ea2f1882dbaffbb51197 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Wed, 26 May 2021 09:12:16 +0200 Subject: [PATCH] Add success fragment after sending an activate remote wipe signal --- .../android/activity/ActivityComponent.java | 3 ++ .../activate/ActivateRemoteWipeActivity.java | 11 +--- .../ActivateRemoteWipeSuccessFragment.java | 53 +++++++++++++++++++ .../activate/ActivateRemoteWipeViewModel.java | 4 ++ .../fragment_activate_remote_wipe_success.xml | 50 +++++++++++++++++ .../fragment_remote_wipe_setup_success.xml | 2 +- briar-android/src/main/res/values/strings.xml | 1 + 7 files changed, 114 insertions(+), 10 deletions(-) create mode 100644 briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeSuccessFragment.java create mode 100644 briar-android/src/main/res/layout/fragment_activate_remote_wipe_success.xml diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/ActivityComponent.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/ActivityComponent.java index 0ab3303f3..be7c1048a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/activity/ActivityComponent.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/ActivityComponent.java @@ -71,6 +71,7 @@ import org.briarproject.briar.android.remotewipe.RemoteWipeSuccessFragment; import org.briarproject.briar.android.remotewipe.WiperSelectorFragment; import org.briarproject.briar.android.remotewipe.activate.ActivateRemoteWipeActivity; import org.briarproject.briar.android.remotewipe.activate.ActivateRemoteWipeExplainerFragment; +import org.briarproject.briar.android.remotewipe.activate.ActivateRemoteWipeSuccessFragment; import org.briarproject.briar.android.reporting.CrashFragment; import org.briarproject.briar.android.reporting.CrashReportActivity; import org.briarproject.briar.android.reporting.ReportFormFragment; @@ -324,4 +325,6 @@ public interface ActivityComponent { void inject(RemoteWipeSuccessFragment remoteWipeSuccessFragment); void inject(ActivateRemoteWipeExplainerFragment activateRemoteWipeExplainerFragment); + + void inject(ActivateRemoteWipeSuccessFragment activateRemoteWipeSuccessFragment); } 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 70e3dc231..0e2406de8 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,16 +56,9 @@ public class ActivateRemoteWipeActivity extends BriarActivity implements Toast.LENGTH_LONG).show(); break; case SUCCESS: -// showNextFragment(new ActivateRemoteWipeSuccessFragment()); - Toast.makeText(this, - R.string.remote_wipe_activate_success, - Toast.LENGTH_LONG).show(); - finish(); + showNextFragment(new ActivateRemoteWipeSuccessFragment()); break; - case FINISHED: - finish(); - break; - case CANCELLED: + default: // FINISHED or CANCELLED finish(); break; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeSuccessFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeSuccessFragment.java new file mode 100644 index 000000000..d5d3ad343 --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/activate/ActivateRemoteWipeSuccessFragment.java @@ -0,0 +1,53 @@ +package org.briarproject.briar.android.remotewipe.activate; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; + +import org.briarproject.briar.R; +import org.briarproject.briar.android.activity.ActivityComponent; +import org.briarproject.briar.android.fragment.BaseFragment; + +import javax.inject.Inject; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.lifecycle.ViewModelProvider; + +public class ActivateRemoteWipeSuccessFragment extends BaseFragment { + + public static final String TAG = + ActivateRemoteWipeSuccessFragment.class.getName(); + + @Inject + ViewModelProvider.Factory viewModelFactory; + + private ActivateRemoteWipeViewModel viewModel; + + @Override + public void injectFragment(ActivityComponent component) { + component.inject(this); + viewModel = new ViewModelProvider(requireActivity(), viewModelFactory) + .get(ActivateRemoteWipeViewModel.class); + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, + @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_activate_remote_wipe_success, + container, false); + + Button button = view.findViewById(R.id.button); + button.setOnClickListener(e -> viewModel.onSuccessDismissed()); + return view; + } + + @Override + public String getUniqueTag() { + return TAG; + } +} 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 23555f15f..2b3c417d8 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 @@ -63,6 +63,10 @@ public class ActivateRemoteWipeViewModel extends AndroidViewModel { state.postValue(ActivateRemoteWipeState.CANCELLED); } + public void onSuccessDismissed() { + state.postValue(ActivateRemoteWipeState.FINISHED); + } + public void onConfirmClicked() { activateWipe(); } diff --git a/briar-android/src/main/res/layout/fragment_activate_remote_wipe_success.xml b/briar-android/src/main/res/layout/fragment_activate_remote_wipe_success.xml new file mode 100644 index 000000000..512de389a --- /dev/null +++ b/briar-android/src/main/res/layout/fragment_activate_remote_wipe_success.xml @@ -0,0 +1,50 @@ + + + +