[automerge] DO NOT MERGE Restrict PHONE_CALL ops based on TelecomService 2p: 1ce47bf129

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16932214

Bug: 186518774
Change-Id: Ib69d9fcddede256b1a00b5adab26e67b2ec12e29
This commit is contained in:
Presubmit Automerger Backend
2022-03-04 01:37:02 +00:00

View File

@@ -185,8 +185,13 @@ public final class AppOpsPolicy implements AppOpsManagerInternal.CheckOpsDelegat
initializeActivityRecognizersTags(); initializeActivityRecognizersTags();
// If this device does not have telephony, restrict the phone call ops // If this device does not have telephony or microphone features, the TelecomService will
if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { // not be started (which sets phone call ops to allow only its package). Therefore, phone
// call ops need to be restricted here.
PackageManager pm = mContext.getPackageManager();
if (!pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
&& !pm.hasSystemFeature(PackageManager.FEATURE_MICROPHONE)
&& !pm.hasSystemFeature(PackageManager.FEATURE_CONNECTION_SERVICE)) {
AppOpsManager appOps = mContext.getSystemService(AppOpsManager.class); AppOpsManager appOps = mContext.getSystemService(AppOpsManager.class);
appOps.setUserRestrictionForUser(AppOpsManager.OP_PHONE_CALL_MICROPHONE, true, mToken, appOps.setUserRestrictionForUser(AppOpsManager.OP_PHONE_CALL_MICROPHONE, true, mToken,
null, UserHandle.USER_ALL); null, UserHandle.USER_ALL);