Loading src/com/android/dialer/compat/FilteredNumberCompat.java +8 −0 Original line number Original line Diff line number Diff line Loading @@ -44,6 +44,7 @@ import com.android.dialer.filterednumber.BlockedNumbersMigrator; import com.android.dialer.filterednumber.BlockedNumbersSettingsActivity; import com.android.dialer.filterednumber.BlockedNumbersSettingsActivity; import com.android.dialer.filterednumber.MigrateBlockedNumbersDialogFragment; import com.android.dialer.filterednumber.MigrateBlockedNumbersDialogFragment; import com.android.dialerbind.ObjectFactory; import com.android.dialerbind.ObjectFactory; import com.android.incallui.Log; import java.util.ArrayList; import java.util.ArrayList; import java.util.List; import java.util.List; Loading @@ -57,6 +58,8 @@ import java.util.List; */ */ public class FilteredNumberCompat { public class FilteredNumberCompat { private static final String TAG = "FilteredNumberCompat"; protected static final String HAS_MIGRATED_TO_NEW_BLOCKING_KEY = "migratedToNewBlocking"; protected static final String HAS_MIGRATED_TO_NEW_BLOCKING_KEY = "migratedToNewBlocking"; private static Boolean isEnabledForTest; private static Boolean isEnabledForTest; Loading Loading @@ -247,14 +250,18 @@ public class FilteredNumberCompat { final Integer blockId, final String number, final String countryIso, final Integer blockId, final String number, final String countryIso, final String displayNumber, final Integer parentViewId, final String displayNumber, final Integer parentViewId, final FragmentManager fragmentManager, @Nullable final Callback callback) { final FragmentManager fragmentManager, @Nullable final Callback callback) { Log.i(TAG, "showBlockNumberDialogFlow - start"); // If the user is blocking a number and isn't using the framework solution when they // If the user is blocking a number and isn't using the framework solution when they // should be, show the migration dialog // should be, show the migration dialog if (shouldShowMigrationDialog(blockId == null)) { if (shouldShowMigrationDialog(blockId == null)) { Log.i(TAG, "showBlockNumberDialogFlow - showing migration dialog"); MigrateBlockedNumbersDialogFragment MigrateBlockedNumbersDialogFragment .newInstance(new BlockedNumbersMigrator(contentResolver), .newInstance(new BlockedNumbersMigrator(contentResolver), new BlockedNumbersMigrator.Listener() { new BlockedNumbersMigrator.Listener() { @Override @Override public void onComplete() { public void onComplete() { Log.i(TAG, "showBlockNumberDialogFlow - listener showing block " + "number dialog"); BlockNumberDialogFragment BlockNumberDialogFragment .show(null, number, countryIso, displayNumber, .show(null, number, countryIso, displayNumber, parentViewId, parentViewId, Loading @@ -263,6 +270,7 @@ public class FilteredNumberCompat { }).show(fragmentManager, "MigrateBlockedNumbers"); }).show(fragmentManager, "MigrateBlockedNumbers"); return; return; } } Log.i(TAG, "showBlockNumberDialogFlow - showing block number dialog"); BlockNumberDialogFragment BlockNumberDialogFragment .show(blockId, number, countryIso, displayNumber, parentViewId, fragmentManager, .show(blockId, number, countryIso, displayNumber, parentViewId, fragmentManager, callback); callback); Loading src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java +15 −0 Original line number Original line Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.dialer.compat.FilteredNumberCompat; import com.android.dialer.database.FilteredNumberContract; import com.android.dialer.database.FilteredNumberContract; import com.android.dialer.database.FilteredNumberContract.FilteredNumber; import com.android.dialer.database.FilteredNumberContract.FilteredNumber; import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; import com.android.incallui.Log; /** /** * Class which should be used to migrate numbers from {@link FilteredNumberContract} blocking to * Class which should be used to migrate numbers from {@link FilteredNumberContract} blocking to Loading @@ -35,6 +36,8 @@ import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; */ */ public class BlockedNumbersMigrator { public class BlockedNumbersMigrator { private static final String TAG = "BlockedNumbersMigrator"; /** /** * Listener for the operation to migrate from {@link FilteredNumberContract} blocking to * Listener for the operation to migrate from {@link FilteredNumberContract} blocking to * {@link android.provider.BlockedNumberContract} blocking. * {@link android.provider.BlockedNumberContract} blocking. Loading Loading @@ -69,19 +72,24 @@ public class BlockedNumbersMigrator { * @throws NullPointerException if listener is null * @throws NullPointerException if listener is null */ */ public boolean migrate(final Listener listener) { public boolean migrate(final Listener listener) { Log.i(TAG, "migrate - start"); if (!FilteredNumberCompat.canUseNewFiltering()) { if (!FilteredNumberCompat.canUseNewFiltering()) { Log.i(TAG, "migrate - can't use new filtering"); return false; return false; } } Preconditions.checkNotNull(listener); Preconditions.checkNotNull(listener); new AsyncTask<Void, Void, Boolean>() { new AsyncTask<Void, Void, Boolean>() { @Override @Override protected Boolean doInBackground(Void... params) { protected Boolean doInBackground(Void... params) { Log.i(TAG, "migrate - start background migration"); return migrateToNewBlockingInBackground(mContentResolver); return migrateToNewBlockingInBackground(mContentResolver); } } @Override @Override protected void onPostExecute(Boolean isSuccessful) { protected void onPostExecute(Boolean isSuccessful) { Log.i(TAG, "migrate - marking migration complete"); FilteredNumberCompat.setHasMigratedToNewBlocking(isSuccessful); FilteredNumberCompat.setHasMigratedToNewBlocking(isSuccessful); Log.i(TAG, "migrate - calling listener"); listener.onComplete(); listener.onComplete(); } } }.execute(); }.execute(); Loading @@ -92,19 +100,26 @@ public class BlockedNumbersMigrator { try (Cursor cursor = resolver.query(FilteredNumber.CONTENT_URI, try (Cursor cursor = resolver.query(FilteredNumber.CONTENT_URI, new String[]{FilteredNumberColumns.NUMBER}, null, null, null)) { new String[]{FilteredNumberColumns.NUMBER}, null, null, null)) { if (cursor == null) { if (cursor == null) { Log.i(TAG, "migrate - cursor was null"); return false; return false; } } Log.i(TAG, "migrate - attempting to migrate " + cursor.getCount() + "numbers"); int numMigrated = 0; while (cursor.moveToNext()) { while (cursor.moveToNext()) { String originalNumber = cursor String originalNumber = cursor .getString(cursor.getColumnIndex(FilteredNumberColumns.NUMBER)); .getString(cursor.getColumnIndex(FilteredNumberColumns.NUMBER)); if (isNumberInNewBlocking(resolver, originalNumber)) { if (isNumberInNewBlocking(resolver, originalNumber)) { Log.i(TAG, "migrate - number was already blocked in new blocking"); continue; continue; } } ContentValues values = new ContentValues(); ContentValues values = new ContentValues(); values.put(BlockedNumbersSdkCompat.COLUMN_ORIGINAL_NUMBER, originalNumber); values.put(BlockedNumbersSdkCompat.COLUMN_ORIGINAL_NUMBER, originalNumber); resolver.insert(BlockedNumbersSdkCompat.CONTENT_URI, values); resolver.insert(BlockedNumbersSdkCompat.CONTENT_URI, values); ++numMigrated; } } Log.i(TAG, "migrate - migration complete. " + numMigrated + " numbers migrated."); return true; return true; } } } } Loading src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java +0 −1 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnShowListener; import android.content.DialogInterface.OnShowListener; import android.os.Bundle; import android.os.Bundle; import android.view.View; import android.view.View; import com.android.dialer.R; import com.android.dialer.R; import com.android.dialer.filterednumber.BlockedNumbersMigrator.Listener; import com.android.dialer.filterednumber.BlockedNumbersMigrator.Listener; Loading Loading
src/com/android/dialer/compat/FilteredNumberCompat.java +8 −0 Original line number Original line Diff line number Diff line Loading @@ -44,6 +44,7 @@ import com.android.dialer.filterednumber.BlockedNumbersMigrator; import com.android.dialer.filterednumber.BlockedNumbersSettingsActivity; import com.android.dialer.filterednumber.BlockedNumbersSettingsActivity; import com.android.dialer.filterednumber.MigrateBlockedNumbersDialogFragment; import com.android.dialer.filterednumber.MigrateBlockedNumbersDialogFragment; import com.android.dialerbind.ObjectFactory; import com.android.dialerbind.ObjectFactory; import com.android.incallui.Log; import java.util.ArrayList; import java.util.ArrayList; import java.util.List; import java.util.List; Loading @@ -57,6 +58,8 @@ import java.util.List; */ */ public class FilteredNumberCompat { public class FilteredNumberCompat { private static final String TAG = "FilteredNumberCompat"; protected static final String HAS_MIGRATED_TO_NEW_BLOCKING_KEY = "migratedToNewBlocking"; protected static final String HAS_MIGRATED_TO_NEW_BLOCKING_KEY = "migratedToNewBlocking"; private static Boolean isEnabledForTest; private static Boolean isEnabledForTest; Loading Loading @@ -247,14 +250,18 @@ public class FilteredNumberCompat { final Integer blockId, final String number, final String countryIso, final Integer blockId, final String number, final String countryIso, final String displayNumber, final Integer parentViewId, final String displayNumber, final Integer parentViewId, final FragmentManager fragmentManager, @Nullable final Callback callback) { final FragmentManager fragmentManager, @Nullable final Callback callback) { Log.i(TAG, "showBlockNumberDialogFlow - start"); // If the user is blocking a number and isn't using the framework solution when they // If the user is blocking a number and isn't using the framework solution when they // should be, show the migration dialog // should be, show the migration dialog if (shouldShowMigrationDialog(blockId == null)) { if (shouldShowMigrationDialog(blockId == null)) { Log.i(TAG, "showBlockNumberDialogFlow - showing migration dialog"); MigrateBlockedNumbersDialogFragment MigrateBlockedNumbersDialogFragment .newInstance(new BlockedNumbersMigrator(contentResolver), .newInstance(new BlockedNumbersMigrator(contentResolver), new BlockedNumbersMigrator.Listener() { new BlockedNumbersMigrator.Listener() { @Override @Override public void onComplete() { public void onComplete() { Log.i(TAG, "showBlockNumberDialogFlow - listener showing block " + "number dialog"); BlockNumberDialogFragment BlockNumberDialogFragment .show(null, number, countryIso, displayNumber, .show(null, number, countryIso, displayNumber, parentViewId, parentViewId, Loading @@ -263,6 +270,7 @@ public class FilteredNumberCompat { }).show(fragmentManager, "MigrateBlockedNumbers"); }).show(fragmentManager, "MigrateBlockedNumbers"); return; return; } } Log.i(TAG, "showBlockNumberDialogFlow - showing block number dialog"); BlockNumberDialogFragment BlockNumberDialogFragment .show(blockId, number, countryIso, displayNumber, parentViewId, fragmentManager, .show(blockId, number, countryIso, displayNumber, parentViewId, fragmentManager, callback); callback); Loading
src/com/android/dialer/filterednumber/BlockedNumbersMigrator.java +15 −0 Original line number Original line Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.dialer.compat.FilteredNumberCompat; import com.android.dialer.database.FilteredNumberContract; import com.android.dialer.database.FilteredNumberContract; import com.android.dialer.database.FilteredNumberContract.FilteredNumber; import com.android.dialer.database.FilteredNumberContract.FilteredNumber; import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; import com.android.incallui.Log; /** /** * Class which should be used to migrate numbers from {@link FilteredNumberContract} blocking to * Class which should be used to migrate numbers from {@link FilteredNumberContract} blocking to Loading @@ -35,6 +36,8 @@ import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; */ */ public class BlockedNumbersMigrator { public class BlockedNumbersMigrator { private static final String TAG = "BlockedNumbersMigrator"; /** /** * Listener for the operation to migrate from {@link FilteredNumberContract} blocking to * Listener for the operation to migrate from {@link FilteredNumberContract} blocking to * {@link android.provider.BlockedNumberContract} blocking. * {@link android.provider.BlockedNumberContract} blocking. Loading Loading @@ -69,19 +72,24 @@ public class BlockedNumbersMigrator { * @throws NullPointerException if listener is null * @throws NullPointerException if listener is null */ */ public boolean migrate(final Listener listener) { public boolean migrate(final Listener listener) { Log.i(TAG, "migrate - start"); if (!FilteredNumberCompat.canUseNewFiltering()) { if (!FilteredNumberCompat.canUseNewFiltering()) { Log.i(TAG, "migrate - can't use new filtering"); return false; return false; } } Preconditions.checkNotNull(listener); Preconditions.checkNotNull(listener); new AsyncTask<Void, Void, Boolean>() { new AsyncTask<Void, Void, Boolean>() { @Override @Override protected Boolean doInBackground(Void... params) { protected Boolean doInBackground(Void... params) { Log.i(TAG, "migrate - start background migration"); return migrateToNewBlockingInBackground(mContentResolver); return migrateToNewBlockingInBackground(mContentResolver); } } @Override @Override protected void onPostExecute(Boolean isSuccessful) { protected void onPostExecute(Boolean isSuccessful) { Log.i(TAG, "migrate - marking migration complete"); FilteredNumberCompat.setHasMigratedToNewBlocking(isSuccessful); FilteredNumberCompat.setHasMigratedToNewBlocking(isSuccessful); Log.i(TAG, "migrate - calling listener"); listener.onComplete(); listener.onComplete(); } } }.execute(); }.execute(); Loading @@ -92,19 +100,26 @@ public class BlockedNumbersMigrator { try (Cursor cursor = resolver.query(FilteredNumber.CONTENT_URI, try (Cursor cursor = resolver.query(FilteredNumber.CONTENT_URI, new String[]{FilteredNumberColumns.NUMBER}, null, null, null)) { new String[]{FilteredNumberColumns.NUMBER}, null, null, null)) { if (cursor == null) { if (cursor == null) { Log.i(TAG, "migrate - cursor was null"); return false; return false; } } Log.i(TAG, "migrate - attempting to migrate " + cursor.getCount() + "numbers"); int numMigrated = 0; while (cursor.moveToNext()) { while (cursor.moveToNext()) { String originalNumber = cursor String originalNumber = cursor .getString(cursor.getColumnIndex(FilteredNumberColumns.NUMBER)); .getString(cursor.getColumnIndex(FilteredNumberColumns.NUMBER)); if (isNumberInNewBlocking(resolver, originalNumber)) { if (isNumberInNewBlocking(resolver, originalNumber)) { Log.i(TAG, "migrate - number was already blocked in new blocking"); continue; continue; } } ContentValues values = new ContentValues(); ContentValues values = new ContentValues(); values.put(BlockedNumbersSdkCompat.COLUMN_ORIGINAL_NUMBER, originalNumber); values.put(BlockedNumbersSdkCompat.COLUMN_ORIGINAL_NUMBER, originalNumber); resolver.insert(BlockedNumbersSdkCompat.CONTENT_URI, values); resolver.insert(BlockedNumbersSdkCompat.CONTENT_URI, values); ++numMigrated; } } Log.i(TAG, "migrate - migration complete. " + numMigrated + " numbers migrated."); return true; return true; } } } } Loading
src/com/android/dialer/filterednumber/MigrateBlockedNumbersDialogFragment.java +0 −1 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnShowListener; import android.content.DialogInterface.OnShowListener; import android.os.Bundle; import android.os.Bundle; import android.view.View; import android.view.View; import com.android.dialer.R; import com.android.dialer.R; import com.android.dialer.filterednumber.BlockedNumbersMigrator.Listener; import com.android.dialer.filterednumber.BlockedNumbersMigrator.Listener; Loading