summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-07-15 02:05:11 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-07-15 02:05:11 +0000
commitd91e81e6875e994e8e8f7479c91b65e266b17e50 (patch)
treef1978e24f683e733af9d745da54ccb25471f1853
parent2ba366d991161f0e69d9d7437de226661788cae4 (diff)
parentfda8b6a551239576eafdac0f2d599325c3dadb95 (diff)
downloadBlockedNumberProvider-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.bp19
-rw-r--r--AndroidManifest.xml2
-rw-r--r--MODULE_LICENSE_APACHE20
-rw-r--r--src/com/android/providers/blockednumber/BlockedNumberProvider.java17
-rw-r--r--tests/Android.bp11
-rw-r--r--tests/AndroidManifest.xml18
-rw-r--r--tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java13
7 files changed, 61 insertions, 19 deletions
diff --git a/Android.bp b/Android.bp
index 1fab3bc..f32c9ea 100644
--- a/Android.bp
+++ b/Android.bp
@@ -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];