diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-15 02:05:11 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-15 02:05:11 +0000 |
commit | d91e81e6875e994e8e8f7479c91b65e266b17e50 (patch) | |
tree | f1978e24f683e733af9d745da54ccb25471f1853 | |
parent | 2ba366d991161f0e69d9d7437de226661788cae4 (diff) | |
parent | fda8b6a551239576eafdac0f2d599325c3dadb95 (diff) | |
download | BlockedNumberProvider-android12-mainline-captiveportallogin-release.tar.gz |
Snap for 7550930 from fda8b6a551239576eafdac0f2d599325c3dadb95 to mainline-captiveportallogin-releaseandroid-mainline-12.0.0_r6android-mainline-12.0.0_r23android12-mainline-captiveportallogin-release
Change-Id: If3ce603dd187b66524046d8da3d543668d021bd8
-rw-r--r-- | Android.bp | 19 | ||||
-rw-r--r-- | AndroidManifest.xml | 2 | ||||
-rw-r--r-- | MODULE_LICENSE_APACHE2 | 0 | ||||
-rw-r--r-- | src/com/android/providers/blockednumber/BlockedNumberProvider.java | 17 | ||||
-rw-r--r-- | tests/Android.bp | 11 | ||||
-rw-r--r-- | tests/AndroidManifest.xml | 18 | ||||
-rw-r--r-- | tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java | 13 |
7 files changed, 61 insertions, 19 deletions
@@ -1,3 +1,22 @@ +package { + default_applicable_licenses: [ + "packages_providers_BlockedNumberProvider_license", + ], +} + +// Added automatically by a large-scale-change +// See: http://go/android-license-faq +license { + name: "packages_providers_BlockedNumberProvider_license", + visibility: [":__subpackages__"], + license_kinds: [ + "SPDX-license-identifier-Apache-2.0", + ], + license_text: [ + "NOTICE", + ], +} + android_app { name: "BlockedNumberProvider", 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/MODULE_LICENSE_APACHE2 b/MODULE_LICENSE_APACHE2 deleted file mode 100644 index e69de29..0000000 --- a/MODULE_LICENSE_APACHE2 +++ /dev/null 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/Android.bp b/tests/Android.bp index 2656ffa..0c49daf 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -1,3 +1,14 @@ +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "packages_providers_BlockedNumberProvider_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: [ + "packages_providers_BlockedNumberProvider_license", + ], +} + android_test { name: "BlockedNumberProviderTest", static_libs: [ diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml index 1535ce4..e505769 100644 --- a/tests/AndroidManifest.xml +++ b/tests/AndroidManifest.xml @@ -15,24 +15,24 @@ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.providers.blockednumber.tests" - android:sharedUserId="android.uid.shared"> + package="com.android.providers.blockednumber.tests" + android:sharedUserId="android.uid.shared"> <application android:name="com.android.providers.blockednumber.TestApplication"> - <uses-library android:name="android.test.runner" /> + <uses-library android:name="android.test.runner"/> <activity android:label="BlockedNumberProviderTest" - android:name="BlockedNumberProviderTest"> + android:name="BlockedNumberProviderTest" + android:exported="true"> <intent-filter> - <action android:name="android.intent.action.MAIN" /> + <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> - <instrumentation - android:name="androidx.test.runner.AndroidJUnitRunner" - android:targetPackage="com.android.providers.blockednumber" - android:label="Blocked Numbers Tests"> + <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner" + android:targetPackage="com.android.providers.blockednumber" + android:label="Blocked Numbers Tests"> </instrumentation> </manifest> diff --git a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java index 8b5e82b..9f9301f 100644 --- a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java +++ b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java @@ -15,6 +15,9 @@ */ package com.android.providers.blockednumber; +import static android.os.UserHandle.MIN_SECONDARY_USER_ID; +import static android.os.UserHandle.USER_SYSTEM; + import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; @@ -46,6 +49,7 @@ import android.telephony.CarrierConfigManager; import android.telephony.TelephonyManager; import android.test.AndroidTestCase; import android.test.MoreAsserts; +import android.text.TextUtils; import android.test.suitebuilder.annotation.MediumTest; import junit.framework.Assert; @@ -70,7 +74,7 @@ public class BlockedNumberProviderTest extends AndroidTestCase { mMockContext.initializeContext(); mResolver = mMockContext.getContentResolver(); - when(mMockContext.mUserManager.isPrimaryUser()).thenReturn(true); + doReturn(USER_SYSTEM).when(mMockContext).getUserId(); when(mMockContext.mCountryDetector.detectCountry()) .thenReturn(new Country("US", Country.COUNTRY_SOURCE_LOCATION)); when(mMockContext.mAppOpsManager.noteOp( @@ -608,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); @@ -633,7 +638,7 @@ public class BlockedNumberProviderTest extends AndroidTestCase { } public void testPrivilegedAppAccessingApisAsSecondaryUser() { - when(mMockContext.mUserManager.isPrimaryUser()).thenReturn(false); + doReturn(MIN_SECONDARY_USER_ID).when(mMockContext).getUserId(); assertFalse(BlockedNumberContract.canCurrentUserBlockNumbers(mMockContext)); @@ -670,7 +675,7 @@ public class BlockedNumberProviderTest extends AndroidTestCase { } public void testRegularAppAccessingApisAsSecondaryUser() { - when(mMockContext.mUserManager.isPrimaryUser()).thenReturn(false); + doReturn(MIN_SECONDARY_USER_ID).when(mMockContext).getUserId(); doReturn(PackageManager.PERMISSION_DENIED) .when(mMockContext).checkCallingPermission(anyString()); @@ -767,7 +772,7 @@ public class BlockedNumberProviderTest extends AndroidTestCase { private String getEmergencyNumberFromSystemPropertiesOrDefault() { String systemEmergencyNumbers = SystemProperties.get("ril.ecclist"); - if (systemEmergencyNumbers == null) { + if (TextUtils.isEmpty(systemEmergencyNumbers)) { return "911"; } else { return systemEmergencyNumbers.split(",")[0]; |