summaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
authorBrandon Maxwell <maxwelb@google.com>2016-03-15 22:46:49 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-03-15 22:46:50 +0000
commita98b35c260a8527dd7a952fe0dd3342fce06b89a (patch)
treea6c295179ec6510e10d631dc7fd4d42f1bbb6ff8 /src/com
parent60d449f45f52c22d7f7e669760457b717352f8de (diff)
parentb1e450864849436c7c7708ceca5c8f4142492c68 (diff)
Merge "Keeping migration dialog up while migration in progress" into nyc-dev
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();
+ }
+ });
}
};
}