summaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
authorBrandon Maxwell <maxwelb@google.com>2016-03-15 15:17:20 -0700
committerBrandon Maxwell <maxwelb@google.com>2016-03-15 15:34:31 -0700
commitb1e450864849436c7c7708ceca5c8f4142492c68 (patch)
tree9fecc2f5d55de0afee807155af1074f3a44b133c /src/com
parentaae1559613cc24ad1d960b550c15af9f61675f38 (diff)
Keeping migration dialog up while migration in progress
+ This CL ensures that while the migration work is in progress, the MigrateDialogFragment remains visible, with its buttons greyed out. Bug: 26664600 Change-Id: Ied32d05fac46b700f14aee06d383fd2db2fa7913
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java1
-rw-r--r--src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java41
2 files changed, 33 insertions, 9 deletions
diff --git a/src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java b/src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java
index de201d98a..555e647bc 100644
--- a/src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java
+++ b/src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java
@@ -22,7 +22,6 @@ import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.os.AsyncTask;
-import android.support.annotation.Nullable;
import com.android.dialer.compat.BlockedNumbersSdkCompat;
import com.android.dialer.compat.FilteredNumberCompat;
diff --git a/src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java b/src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java
index efcb50591..f29796125 100644
--- a/src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java
+++ b/src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java
@@ -22,10 +22,12 @@ import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
+import android.content.DialogInterface.OnShowListener;
import android.os.Bundle;
+import android.view.View;
import com.android.dialer.R;
+import com.android.dialer.filterednumber.BlockedNumbersMigrator.Listener;
/**
* Dialog fragment shown to users when they need to migrate to use
@@ -57,20 +59,43 @@ public class MigrateBlockedNumbersDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceState);
- return new AlertDialog.Builder(getActivity())
+ AlertDialog dialog = new AlertDialog.Builder(getActivity())
.setTitle(R.string.migrate_blocked_numbers_dialog_title)
.setMessage(R.string.migrate_blocked_numbers_dialog_message)
- .setPositiveButton(R.string.migrate_blocked_numbers_dialog_allow_button,
- newPositiveButtonOnClickListener())
+ .setPositiveButton(R.string.migrate_blocked_numbers_dialog_allow_button, null)
.setNegativeButton(R.string.migrate_blocked_numbers_dialog_cancel_button, null)
.create();
+ // The Dialog's buttons aren't available until show is called, so an OnShowListener
+ // is used to set the positive button callback.
+ dialog.setOnShowListener(new OnShowListener() {
+ @Override
+ public void onShow(DialogInterface dialog) {
+ final AlertDialog alertDialog = (AlertDialog) dialog;
+ alertDialog.getButton(AlertDialog.BUTTON_POSITIVE)
+ .setOnClickListener(newPositiveButtonOnClickListener(alertDialog));
+ }
+ });
+ return dialog;
}
- private DialogInterface.OnClickListener newPositiveButtonOnClickListener() {
- return new OnClickListener() {
+ /*
+ * Creates a new View.OnClickListener to be used as the positive button in this dialog. The
+ * OnClickListener will grey out the dialog's positive and negative buttons while the migration
+ * is underway, and close the dialog once the migrate is complete.
+ */
+ private View.OnClickListener newPositiveButtonOnClickListener(final AlertDialog alertDialog) {
+ return new View.OnClickListener() {
@Override
- public void onClick(DialogInterface dialog, int which) {
- mBlockedNumbersMigrator.migrate(mMigrationListener);
+ public void onClick(View v) {
+ alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
+ alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(false);
+ mBlockedNumbersMigrator.migrate(new Listener() {
+ @Override
+ public void onComplete() {
+ alertDialog.dismiss();
+ mMigrationListener.onComplete();
+ }
+ });
}
};
}