summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrace Jia <xiaotonj@google.com>2022-01-06 20:23:30 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-01-06 20:23:30 +0000
commit423e54c40e8ff1b3ffb3eb0c09edd419685b9a60 (patch)
tree9c44f7fb14dd4ccf674924b904f20294f1883548
parentadeb366ede7ad57baa0936746a471a6c23cc06cd (diff)
parentafe2b3695e45750a45c0a262ac7b4cac99ea4841 (diff)
downloadBlockedNumberProvider-423e54c40e8ff1b3ffb3eb0c09edd419685b9a60.tar.gz
Merge "Add new API for unavailable display name." am: b93e3660ea am: 7837eccd78 am: df6c896f58 am: afe2b3695e
Original change: https://android-review.googlesource.com/c/platform/packages/providers/BlockedNumberProvider/+/1807718 Change-Id: I5a284c89de637a1e48ac0e36d2462ae0cf6fa5da
-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);