summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrace Jia <xiaotonj@google.com>2022-01-06 19:55:54 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-01-06 19:55:54 +0000
commitafe2b3695e45750a45c0a262ac7b4cac99ea4841 (patch)
tree1fdf5874d60c61972ebfb55835dbc0fec1a898b5
parent8a457ef63bfded8c892827391de6b8ef64b91ef8 (diff)
parentdf6c896f583a2e3140b8793a065dff14823db690 (diff)
downloadBlockedNumberProvider-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.java10
-rw-r--r--tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java15
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);