diff options
| author | android-build-team Robot <android-build-team-robot@google.com> | 2018-06-11 22:32:25 +0000 |
|---|---|---|
| committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-06-11 22:32:25 +0000 |
| commit | b9f2b85890ec28b750fb4c3e73a48d0cda530ccc (patch) | |
| tree | 172c361e0535fc0dbcb15aa5ecff0b2b93c2107f | |
| parent | e9e5cb8c47e8ea304bf2c3402493f03ffd8bd826 (diff) | |
| parent | f52042b4b93ac9a443ce0130f53ac747bb64cba8 (diff) | |
| download | platform_packages_services_Telephony-oreo-m4-s10-release.tar.gz platform_packages_services_Telephony-oreo-m4-s10-release.tar.bz2 platform_packages_services_Telephony-oreo-m4-s10-release.zip | |
Merge cherrypicks of [4314173, 4314174, 4314175, 4314176, 4314471, 4314472, 4314473, 4314474, 4314475, 4314645, 4314646, 4314193, 4314476, 4314477, 4315350, 4315351, 4315352, 4315353, 4315354, 4314478, 4315430, 4314194, 4314195, 4314196, 4314197, 4314198, 4314199, 4314200, 4315093, 4315094, 4315095, 4315096, 4315097, 4315098, 4315099, 4315100, 4315501, 4315502, 4315503, 4314177, 4315431, 4315432, 4315433, 4315434, 4314178, 4314179, 4315355, 4315435, 4315382, 4315403, 4315404, 4315436, 4315437, 4315438, 4315439, 4315440, 4315521, 4315522, 4315523, 4315524, 4315525, 4315526, 4315527, 4315528, 4315529, 4314035, 4314230, 4315356, 4315530, 4315531, 4315471, 4315357, 4315358, 4314479, 4315532, 4315533, 4315534, 4315535, 4315536] into sparse-4732991-L06700000181398573android-8.1.0_r40oreo-m4-s10-release
Change-Id: Ibdf6ff037c884b455461848d6a5d27f479c5bc20
| -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; |
