diff options
author | Xin Li <delphij@google.com> | 2021-10-06 22:54:09 +0000 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2021-10-06 22:54:09 +0000 |
commit | 091917e0fa3499659ddb41985fc900384a294a63 (patch) | |
tree | b0b928a9c8b07371c67f14c5fb00d6b25fe9166b | |
parent | a806fdcf0c3bfe5cc224563986226e3cfeb15e00 (diff) | |
parent | a6741bc34daa22bd742c020608720eb185d23f96 (diff) | |
download | BlockedNumberProvider-091917e0fa3499659ddb41985fc900384a294a63.tar.gz |
Merge Android 12android-s-v2-preview-2android-s-v2-preview-1android-s-v2-beta-2android-s-v2-preview-1
Bug: 202323961
Merged-In: I9485983135ab1e4b8bbb75e9ede620afd7b5a605
Change-Id: I1cbb7ec88e77aae179f3c9340b3c6c0de0a184a5
-rw-r--r-- | AndroidManifest.xml | 2 | ||||
-rw-r--r-- | res/values-km/strings.xml | 2 | ||||
-rw-r--r-- | src/com/android/providers/blockednumber/BlockedNumberProvider.java | 17 | ||||
-rw-r--r-- | tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java | 1 |
4 files changed, 15 insertions, 7 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 595052e..3493527 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -18,6 +18,8 @@ package="com.android.providers.blockednumber" android:sharedUserId="android.uid.shared"> + <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" /> + <application android:process="android.process.acore" android:label="@string/app_label" diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 515bd9e..d4918cf 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -16,5 +16,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="3836152623003881586">"កន្លែងផ្ទុកលេខដែលបានទប់ស្កាត់"</string> + <string name="app_label" msgid="3836152623003881586">"កន្លែងផ្ទុកលេខបានទប់ស្កាត់"</string> </resources> diff --git a/src/com/android/providers/blockednumber/BlockedNumberProvider.java b/src/com/android/providers/blockednumber/BlockedNumberProvider.java index 1458c1c..50dfcb2 100644 --- a/src/com/android/providers/blockednumber/BlockedNumberProvider.java +++ b/src/com/android/providers/blockednumber/BlockedNumberProvider.java @@ -45,7 +45,6 @@ import android.provider.BlockedNumberContract; import android.provider.BlockedNumberContract.SystemContract; import android.telecom.TelecomManager; import android.telephony.CarrierConfigManager; -import android.telephony.PhoneNumberUtils; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; @@ -407,9 +406,10 @@ public class BlockedNumberProvider extends ContentProvider { return false; } - final String e164Number = Utils.getE164Number(getContext(), phoneNumber, null); - return PhoneNumberUtils.isEmergencyNumber(phoneNumber) - || PhoneNumberUtils.isEmergencyNumber(e164Number); + Context context = getContext(); + final String e164Number = Utils.getE164Number(context, phoneNumber, null); + TelephonyManager tm = context.getSystemService(TelephonyManager.class); + return tm.isEmergencyNumber(phoneNumber) || tm.isEmergencyNumber(e164Number); } private boolean isBlocked(String phoneNumber) { @@ -632,8 +632,13 @@ public class BlockedNumberProvider extends ContentProvider { final TelephonyManager telephonyManager = getContext().getSystemService(TelephonyManager.class); - return telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(callingPackage) == - TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; + final long token = Binder.clearCallingIdentity(); + try { + return telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(callingPackage) == + TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; + } finally { + Binder.restoreCallingIdentity(token); + } } return false; } diff --git a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java index c8204c3..9f9301f 100644 --- a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java +++ b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java @@ -612,6 +612,7 @@ public class BlockedNumberProviderTest extends AndroidTestCase { public void testEmergencyNumbersAreNotBlockedBySystem() { String emergencyNumber = getEmergencyNumberFromSystemPropertiesOrDefault(); + doReturn(true).when(mMockContext.mTelephonyManager).isEmergencyNumber(emergencyNumber); insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, emergencyNumber)); assertIsBlocked(true, emergencyNumber); |