diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-05-25 19:02:44 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-05-25 19:02:44 +0000 |
commit | aeb855cd41fd707d55aa373d751477271a22a285 (patch) | |
tree | 172c361e0535fc0dbcb15aa5ecff0b2b93c2107f | |
parent | e9e5cb8c47e8ea304bf2c3402493f03ffd8bd826 (diff) | |
parent | 002a435d8dac20f1264ecaa63026cf428a1a02ce (diff) | |
download | Telephony-oreo-m4-s7-release.tar.gz |
Merge cherrypicks of [4195647, 4186616, 4186617, 4186167, 4186168, 4186582, 4195648, 4195649, 4195818, 4195819, 4195820, 4195821, 4195858, 4195650, 4195577, 4195859, 4195860, 4195861, 4195862, 4195863, 4195864, 4195865, 4195525, 4195526, 4195527, 4195528, 4195529, 4195530, 4195531, 4195532, 4195533, 4195534, 4195535, 4195536, 4186409, 4186410, 4186411, 4195537, 4195880, 4195881, 4195822, 4195898, 4195866, 4195652, 4195653, 4195582, 4195583, 4195584, 4195585, 4195586, 4195587, 4195588, 4195589, 4195590, 4195591, 4195592, 4195593, 4195594, 4195595, 4195654, 4186583, 4195882, 4195628, 4195629, 4195630, 4195655] into sparse-4732991-L55400000176809537android-8.1.0_r37oreo-m4-s7-release
Change-Id: I17dd46eb2c94966c628a16b110133a24d28cb64a
-rw-r--r-- | src/com/android/phone/PhoneInterfaceManager.java | 21 |
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; |