summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-06-11 22:32:25 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-06-11 22:32:25 +0000
commitb9f2b85890ec28b750fb4c3e73a48d0cda530ccc (patch)
tree172c361e0535fc0dbcb15aa5ecff0b2b93c2107f
parente9e5cb8c47e8ea304bf2c3402493f03ffd8bd826 (diff)
parentf52042b4b93ac9a443ce0130f53ac747bb64cba8 (diff)
downloadplatform_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.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;