From b9c614acfb2f538f202a7f0909e5133bbe5c8d7d Mon Sep 17 00:00:00 2001 From: ameba23 Date: Tue, 7 Sep 2021 13:20:01 +0200 Subject: [PATCH] Add button when displaying remote wipers allowing the list of wipers to be modified --- .../android/remotewipe/RemoteWipeDisplayFragment.java | 6 ++++-- .../android/remotewipe/RemoteWipeSetupActivity.java | 10 ++++++---- .../android/remotewipe/RemoteWipeSetupState.java | 3 ++- .../android/remotewipe/RemoteWipeSetupViewModel.java | 5 +++++ .../main/res/layout/fragment_display_remote_wipe.xml | 11 +++++++++++ briar-android/src/main/res/values/strings.xml | 1 + 6 files changed, 29 insertions(+), 7 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 e07d88859..dbda4fc67 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 @@ -4,6 +4,7 @@ import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; import android.widget.TextView; import org.briarproject.briar.R; @@ -52,8 +53,9 @@ public class RemoteWipeDisplayFragment extends } TextView textViewThreshold = view.findViewById(R.id.textViewWipers); textViewThreshold.setText(custodianNamesString.toString()); -// Button button = view.findViewById(R.id.button); -// button.setOnClickListener(e -> viewModel.onErrorTryAgain()); + + Button button = view.findViewById(R.id.button); + button.setOnClickListener(e -> viewModel.onModifyWipers()); return view; } @Override diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupActivity.java index dbdab74cd..0f2a287a5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupActivity.java @@ -38,11 +38,11 @@ public class RemoteWipeSetupActivity extends BriarActivity implements public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_distributed_backup); -// if (viewModel.remoteWipeIsSetup()) { -// showInitialFragment(new RemoteWipeDisplayFragment()); -// } else { + if (viewModel.remoteWipeIsSetup()) { + showInitialFragment(new RemoteWipeDisplayFragment()); + } else { showInitialFragment(WiperSelectorFragment.newInstance()); -// } + } } @@ -68,6 +68,8 @@ public class RemoteWipeSetupActivity extends BriarActivity implements finish(); } else if (state.equals(RemoteWipeSetupState.FINISHED)) { finish(); + } else if (state.equals(RemoteWipeSetupState.MODIFY)) { + showNextFragment(WiperSelectorFragment.newInstance()); } } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupState.java b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupState.java index 3864a9c70..ace6f3654 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupState.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/remotewipe/RemoteWipeSetupState.java @@ -3,5 +3,6 @@ package org.briarproject.briar.android.remotewipe; public enum RemoteWipeSetupState { FAILED, SUCCESS, - FINISHED + FINISHED, + MODIFY } 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 cd436a2a6..2cf1a0e80 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 @@ -74,6 +74,11 @@ public class RemoteWipeSetupViewModel extends AndroidViewModel { state.postValue(RemoteWipeSetupState.FINISHED); } + @UiThread + public void onModifyWipers() { + state.postValue(RemoteWipeSetupState.MODIFY); + } + public void setupRemoteWipe(Collection wipers) throws DbException, FormatException { db.transaction(false, txn -> { diff --git a/briar-android/src/main/res/layout/fragment_display_remote_wipe.xml b/briar-android/src/main/res/layout/fragment_display_remote_wipe.xml index 97fa36d31..6381913ce 100644 --- a/briar-android/src/main/res/layout/fragment_display_remote_wipe.xml +++ b/briar-android/src/main/res/layout/fragment_display_remote_wipe.xml @@ -31,4 +31,15 @@ android:layout_height="match_parent"> app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textViewThreshold" /> + +