summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-06-04 23:34:23 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-06-04 23:34:23 +0000
commit55cd01d9bc06417bb107a1946578ee987a85e121 (patch)
tree172c361e0535fc0dbcb15aa5ecff0b2b93c2107f
parente9e5cb8c47e8ea304bf2c3402493f03ffd8bd826 (diff)
parentf75278a4ee99bf9d89a9bb9f07f2306dd037f56b (diff)
downloadTelephony-oreo-m4-s8-release.tar.gz
Merge cherrypicks of [4255363, 4255364, 4254607, 4254608, 4254909, 4254910, 4254911, 4255904, 4255905, 4255906, 4255907, 4254912, 4254624, 4255365, 4254609, 4254610, 4254611, 4254612, 4254613, 4254614, 4254615, 4254691, 4254692, 4254693, 4254694, 4254695, 4254696, 4254697, 4254698, 4254699, 4254700, 4255981, 4254913, 4255282, 4255283, 4255284, 4255366, 4256001, 4256002, 4254616, 4255367, 4256003, 4254957, 4254958, 4255403, 4255404, 4255405, 4255406, 4255407, 4255408, 4255409, 4255410, 4255411, 4255412, 4255413, 4255414, 4255415, 4255416, 4253350, 4256013, 4254991, 4256014, 4254959, 4254960, 4254992, 4254993, 4254994] into sparse-4732991-L15500000179240506android-8.1.0_r38oreo-m4-s8-release
Change-Id: I180c1cda3145adffdd0f83aed0392570e8a71e2c
-rw-r--r--src/com/android/phone/PhoneInterfaceManager.java21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 616acda12..b11418f1d 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -2468,9 +2468,24 @@ public class PhoneInterfaceManager extends ITelephony.Stub {
* Get the forbidden PLMN List from the given app type (ex APPTYPE_USIM)
* on a particular subscription
*/
- public String[] getForbiddenPlmns(int subId, int appType) {
- mApp.enforceCallingOrSelfPermission(android.Manifest.permission.READ_PHONE_STATE,
- "Requires READ_PHONE_STATE");
+ public String[] getForbiddenPlmns(int subId, int appType, String callingPackage) {
+
+ if ((mApp.checkCallingOrSelfPermission(
+ android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
+ == PackageManager.PERMISSION_GRANTED
+ || mApp.checkCallingOrSelfPermission(
+ android.Manifest.permission.READ_PHONE_STATE)
+ == PackageManager.PERMISSION_GRANTED)
+ && mAppOps.noteOp(
+ AppOpsManager.OP_READ_PHONE_STATE, Binder.getCallingUid(), callingPackage)
+ != AppOpsManager.MODE_ALLOWED) {
+ EventLog.writeEvent(0x534e4554, "73884967", Binder.getCallingUid(),
+ "getForbiddenPlmns calllingPackage: " + callingPackage);
+ }
+
+ if (!canReadPhoneState(callingPackage, "getForbiddenPlmns")) {
+ return null;
+ }
if (appType != TelephonyManager.APPTYPE_USIM && appType != TelephonyManager.APPTYPE_SIM) {
loge("getForbiddenPlmnList(): App Type must be USIM or SIM");
return null;