Add pop-up dialog on remote wipe setup success

This commit is contained in:
ameba23
2022-02-24 13:42:50 +01:00
parent 5e0f7219c5
commit f7894dd159
2 changed files with 24 additions and 3 deletions

View File

@@ -15,6 +15,7 @@ import java.util.Collection;
import javax.inject.Inject; import javax.inject.Inject;
import androidx.appcompat.app.AlertDialog;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
public class RemoteWipeSetupActivity extends BriarActivity implements public class RemoteWipeSetupActivity extends BriarActivity implements
@@ -59,9 +60,9 @@ public class RemoteWipeSetupActivity extends BriarActivity implements
} }
private void onStateChanged(RemoteWipeSetupState state) { private void onStateChanged(RemoteWipeSetupState state) {
if (state.equals(RemoteWipeSetupState.SUCCESS)) { // if (state.equals(RemoteWipeSetupState.SUCCESS)) {
showNextFragment(new RemoteWipeSuccessFragment()); // showNextFragment(new RemoteWipeSuccessFragment());
} else if (state.equals(RemoteWipeSetupState.FAILED)) { if (state.equals(RemoteWipeSetupState.FAILED)) {
Toast.makeText(this, Toast.makeText(this,
R.string.remote_wipe_setup_failed, R.string.remote_wipe_setup_failed,
Toast.LENGTH_LONG).show(); Toast.LENGTH_LONG).show();

View File

@@ -21,6 +21,7 @@ import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
@MethodsNotNullByDefault @MethodsNotNullByDefault
@@ -59,6 +60,14 @@ public class WiperSelectorFragment extends ContactSelectorFragment {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
selectedContacts.addAll(viewModel.getWiperContactIds()); selectedContacts.addAll(viewModel.getWiperContactIds());
requireActivity().setTitle(R.string.title_select_wipers); requireActivity().setTitle(R.string.title_select_wipers);
viewModel.getState().observe(this, this::onStateChanged);
}
private void onStateChanged(RemoteWipeSetupState state) {
if (state.equals(RemoteWipeSetupState.SUCCESS)) {
showSuccessDialog();
}
} }
@Override @Override
@@ -95,4 +104,15 @@ public class WiperSelectorFragment extends ContactSelectorFragment {
} }
} }
private void showSuccessDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(requireContext(),
R.style.BriarDialogTheme);
builder.setTitle(R.string.remote_wipe_setup_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();
}
} }