diff options
author | Grace Jia <xiaotonj@google.com> | 2022-01-06 19:55:54 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-01-06 19:55:54 +0000 |
commit | afe2b3695e45750a45c0a262ac7b4cac99ea4841 (patch) | |
tree | 1fdf5874d60c61972ebfb55835dbc0fec1a898b5 | |
parent | 8a457ef63bfded8c892827391de6b8ef64b91ef8 (diff) | |
parent | df6c896f583a2e3140b8793a065dff14823db690 (diff) | |
download | BlockedNumberProvider-afe2b3695e45750a45c0a262ac7b4cac99ea4841.tar.gz |
Merge "Add new API for unavailable display name." am: b93e3660ea am: 7837eccd78 am: df6c896f58
Original change: https://android-review.googlesource.com/c/platform/packages/providers/BlockedNumberProvider/+/1807718
Change-Id: I4040d2037fe3f3e602ff31e412904b62b8b05da0
-rw-r--r-- | src/com/android/providers/blockednumber/BlockedNumberProvider.java | 10 | ||||
-rw-r--r-- | tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java | 15 |
2 files changed, 23 insertions, 2 deletions
diff --git a/src/com/android/providers/blockednumber/BlockedNumberProvider.java b/src/com/android/providers/blockednumber/BlockedNumberProvider.java index 50dfcb2..830847c 100644 --- a/src/com/android/providers/blockednumber/BlockedNumberProvider.java +++ b/src/com/android/providers/blockednumber/BlockedNumberProvider.java @@ -40,7 +40,6 @@ import android.os.CancellationSignal; import android.os.PersistableBundle; import android.os.Process; import android.os.UserHandle; -import android.os.UserManager; import android.provider.BlockedNumberContract; import android.provider.BlockedNumberContract.SystemContract; import android.telecom.TelecomManager; @@ -106,11 +105,13 @@ public class BlockedNumberProvider extends ContentProvider { protected BlockedNumberDatabaseHelper mDbHelper; @VisibleForTesting protected BackupManager mBackupManager; + protected AppOpsManager mAppOpsManager; @Override public boolean onCreate() { mDbHelper = BlockedNumberDatabaseHelper.getInstance(getContext()); mBackupManager = new BackupManager(getContext()); + mAppOpsManager = getAppOpsManager(); return true; } @@ -490,7 +491,6 @@ public class BlockedNumberProvider extends ContentProvider { return BlockedNumberContract.STATUS_NOT_BLOCKED; } - boolean isBlocked = false; int blockReason = BlockedNumberContract.STATUS_NOT_BLOCKED; if (extras != null && !extras.isEmpty()) { // check enhanced blocking setting @@ -522,6 +522,12 @@ public class BlockedNumberProvider extends ContentProvider { blockReason = BlockedNumberContract.STATUS_BLOCKED_UNKNOWN_NUMBER; } break; + case TelecomManager.PRESENTATION_UNAVAILABLE: + if (getEnhancedBlockSetting( + SystemContract.ENHANCED_SETTING_KEY_BLOCK_UNKNOWN)) { + blockReason = BlockedNumberContract.STATUS_BLOCKED_UNAVAILABLE; + } + break; default: break; } diff --git a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java index 9f9301f..3a88a85 100644 --- a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java +++ b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java @@ -364,9 +364,21 @@ public class BlockedNumberProviderTest extends AndroidTestCase { setEnhancedBlockSetting(SystemContract.ENHANCED_SETTING_KEY_BLOCK_UNKNOWN, true); assertShouldSystemBlock(true, phoneNumber, createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_UNKNOWN, false)); + assertShouldSystemBlock(true, phoneNumber, + createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_UNAVAILABLE, false)); setEnhancedBlockSetting(SystemContract.ENHANCED_SETTING_KEY_BLOCK_UNKNOWN, false); assertShouldSystemBlock(false, phoneNumber, createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_UNKNOWN, false)); + assertShouldSystemBlock(false, phoneNumber, + createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_UNAVAILABLE, false)); + + // Check whether block unavailable calls setting works well + setEnhancedBlockSetting(SystemContract.ENHANCED_SETTING_KEY_BLOCK_UNAVAILABLE, true); + assertShouldSystemBlock(false, phoneNumber, + createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_UNAVAILABLE, false)); + setEnhancedBlockSetting(SystemContract.ENHANCED_SETTING_KEY_BLOCK_UNAVAILABLE, false); + assertShouldSystemBlock(false, phoneNumber, + createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_UNAVAILABLE, false)); } public void testEnhancedBlockSuppressionAfterEmergencyContact() { @@ -380,6 +392,7 @@ public class BlockedNumberProviderTest extends AndroidTestCase { setEnhancedBlockSetting(SystemContract.ENHANCED_SETTING_KEY_BLOCK_PRIVATE, true); setEnhancedBlockSetting(SystemContract.ENHANCED_SETTING_KEY_BLOCK_PAYPHONE, true); setEnhancedBlockSetting(SystemContract.ENHANCED_SETTING_KEY_BLOCK_UNKNOWN, true); + setEnhancedBlockSetting(SystemContract.ENHANCED_SETTING_KEY_BLOCK_UNAVAILABLE, true); // After emergency contact blocks should be suppressed. long timestampMillisBeforeEmergencyContact = System.currentTimeMillis(); @@ -393,6 +406,8 @@ public class BlockedNumberProviderTest extends AndroidTestCase { createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_PAYPHONE, false)); assertShouldSystemBlock(false, phoneNumber, createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_UNKNOWN, false)); + assertShouldSystemBlock(false, phoneNumber, + createBundleForEnhancedBlocking(TelecomManager.PRESENTATION_UNAVAILABLE, false)); SystemContract.BlockSuppressionStatus status = SystemContract.getBlockSuppressionStatus(mMockContext); |