Loading src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java +0 −1 Original line number Diff line number Diff line Loading @@ -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; Loading src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java +33 −8 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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(View v) { alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false); alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(false); mBlockedNumbersMigrator.migrate(new Listener() { @Override public void onClick(DialogInterface dialog, int which) { mBlockedNumbersMigrator.migrate(mMigrationListener); public void onComplete() { alertDialog.dismiss(); mMigrationListener.onComplete(); } }); } }; } Loading tests/src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragmentInstrumentationTest.java +17 −10 Original line number Diff line number Diff line Loading @@ -16,12 +16,9 @@ package com.android.dialer.filterednumber; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.AlertDialog; import android.app.DialogFragment; import android.content.ContentResolver; import android.content.DialogInterface; import android.test.ActivityInstrumentationTestCase2; Loading @@ -40,9 +37,8 @@ public class MigrateBlockedNumbersDialogFragmentInstrumentationTest extends private static final String SHOW_TAG = "ShowTag"; @Mock private BlockedNumbersMigrator mBlockedNumbersMigrator; private BlockedNumbersMigrator mBlockedNumbersMigrator; @Mock private Listener mListener; private DialtactsActivity mActivity; private DialogFragment mMigrateDialogFragment; public MigrateBlockedNumbersDialogFragmentInstrumentationTest() { Loading @@ -53,13 +49,14 @@ public class MigrateBlockedNumbersDialogFragmentInstrumentationTest extends public void setUp() throws Exception { super.setUp(); MockitoAnnotations.initMocks(this); mActivity = getActivity(); mBlockedNumbersMigrator = new SynchronousBlockedNumbersMigrator( getActivity().getContentResolver()); mMigrateDialogFragment = MigrateBlockedNumbersDialogFragment .newInstance(mBlockedNumbersMigrator, mListener); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { mMigrateDialogFragment.show(mActivity.getFragmentManager(), SHOW_TAG); mMigrateDialogFragment.show(getActivity().getFragmentManager(), SHOW_TAG); } }); getInstrumentation().waitForIdleSync(); Loading @@ -70,7 +67,6 @@ public class MigrateBlockedNumbersDialogFragmentInstrumentationTest extends } public void testDialogPositiveButtonPress() { when(mBlockedNumbersMigrator.migrate(mListener)).thenReturn(true); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { Loading @@ -81,6 +77,17 @@ public class MigrateBlockedNumbersDialogFragmentInstrumentationTest extends getInstrumentation().waitForIdleSync(); // Dialog was dismissed assertNull(mMigrateDialogFragment.getDialog()); verify(mBlockedNumbersMigrator).migrate(mListener); } private static class SynchronousBlockedNumbersMigrator extends BlockedNumbersMigrator { public SynchronousBlockedNumbersMigrator(ContentResolver contentResolver) { super(contentResolver); } @Override public boolean migrate(BlockedNumbersMigrator.Listener listener) { listener.onComplete(); return true; } } } Loading
src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java +0 −1 Original line number Diff line number Diff line Loading @@ -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; Loading
src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java +33 −8 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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(View v) { alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false); alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(false); mBlockedNumbersMigrator.migrate(new Listener() { @Override public void onClick(DialogInterface dialog, int which) { mBlockedNumbersMigrator.migrate(mMigrationListener); public void onComplete() { alertDialog.dismiss(); mMigrationListener.onComplete(); } }); } }; } Loading
tests/src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragmentInstrumentationTest.java +17 −10 Original line number Diff line number Diff line Loading @@ -16,12 +16,9 @@ package com.android.dialer.filterednumber; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.AlertDialog; import android.app.DialogFragment; import android.content.ContentResolver; import android.content.DialogInterface; import android.test.ActivityInstrumentationTestCase2; Loading @@ -40,9 +37,8 @@ public class MigrateBlockedNumbersDialogFragmentInstrumentationTest extends private static final String SHOW_TAG = "ShowTag"; @Mock private BlockedNumbersMigrator mBlockedNumbersMigrator; private BlockedNumbersMigrator mBlockedNumbersMigrator; @Mock private Listener mListener; private DialtactsActivity mActivity; private DialogFragment mMigrateDialogFragment; public MigrateBlockedNumbersDialogFragmentInstrumentationTest() { Loading @@ -53,13 +49,14 @@ public class MigrateBlockedNumbersDialogFragmentInstrumentationTest extends public void setUp() throws Exception { super.setUp(); MockitoAnnotations.initMocks(this); mActivity = getActivity(); mBlockedNumbersMigrator = new SynchronousBlockedNumbersMigrator( getActivity().getContentResolver()); mMigrateDialogFragment = MigrateBlockedNumbersDialogFragment .newInstance(mBlockedNumbersMigrator, mListener); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { mMigrateDialogFragment.show(mActivity.getFragmentManager(), SHOW_TAG); mMigrateDialogFragment.show(getActivity().getFragmentManager(), SHOW_TAG); } }); getInstrumentation().waitForIdleSync(); Loading @@ -70,7 +67,6 @@ public class MigrateBlockedNumbersDialogFragmentInstrumentationTest extends } public void testDialogPositiveButtonPress() { when(mBlockedNumbersMigrator.migrate(mListener)).thenReturn(true); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { Loading @@ -81,6 +77,17 @@ public class MigrateBlockedNumbersDialogFragmentInstrumentationTest extends getInstrumentation().waitForIdleSync(); // Dialog was dismissed assertNull(mMigrateDialogFragment.getDialog()); verify(mBlockedNumbersMigrator).migrate(mListener); } private static class SynchronousBlockedNumbersMigrator extends BlockedNumbersMigrator { public SynchronousBlockedNumbersMigrator(ContentResolver contentResolver) { super(contentResolver); } @Override public boolean migrate(BlockedNumbersMigrator.Listener listener) { listener.onComplete(); return true; } } }