summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-06-04 23:56:15 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-06-04 23:56:15 +0000
commite37c873f9cbf33db8eaa8667d19c41ff4058d648 (patch)
tree172c361e0535fc0dbcb15aa5ecff0b2b93c2107f
parente9e5cb8c47e8ea304bf2c3402493f03ffd8bd826 (diff)
parent34e169df11b561fdd194f87bb697a5c1eeb05df2 (diff)
downloadplatform_packages_services_Telephony-oreo-m4-s9-release.tar.gz
platform_packages_services_Telephony-oreo-m4-s9-release.tar.bz2
platform_packages_services_Telephony-oreo-m4-s9-release.zip
Merge cherrypicks of [4252776, 4252777, 4252778, 4252779, 4253819, 4253820, 4256261, 4256262, 4254470, 4254471, 4256281, 4255145, 4255146, 4255252, 4255253, 4255254, 4255255, 4252780, 4255147, 4252862, 4256148, 4256149, 4256150, 4256151, 4256152, 4256153, 4256154, 4255256, 4255257, 4255258, 4255259, 4253843, 4253844, 4253845, 4253846, 4253847, 4253848, 4253849, 4256156, 4256269, 4256272, 4256273, 4256401, 4255338, 4255339, 4256422, 4256402, 4256157, 4256223, 4256224, 4256158, 4256159, 4256160, 4256441, 4256442, 4256443, 4256444, 4256445, 4256446, 4256447, 4256448, 4256449, 4256450, 4256451, 4254472, 4256285, 4256403, 4256274, 4256424, 4256452, 4256275, 4256276, 4255153, 4253850, 4253851, 4253852, 4253853, 4253854] into sparse-4732991-L34000000179248081android-8.1.0_r39oreo-m4-s9-release
Change-Id: I62d613624550e491cb9b1621395c7891673f9851
-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;