Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0645e070 authored by Alex Stetson's avatar Alex Stetson
Browse files

Restrict PHONE_CALL ops based on TelecomService

PHONE_CALL ops should be restricted here under the conditions of
the TelecomService not being started.

Bug: 224603811
Test: manual, atest AppOpsTest#ensurePhoneCallOpsRestricted
Change-Id: I7cdec39aebecc6e262791aa75b33afbac8513af7
parent c250d405
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -187,8 +187,12 @@ public final class AppOpsPolicy implements AppOpsManagerInternal.CheckOpsDelegat

        initializeActivityRecognizersTags();

        // If this device does not have telephony, restrict the phone call ops
        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
        // Restrict phone call ops if the TelecomService will not start (conditioned on having
        // FEATURE_MICROPHONE, FEATURE_TELECOM, or FEATURE_TELEPHONY).
        PackageManager pm = mContext.getPackageManager();
        if (!pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
                && !pm.hasSystemFeature(PackageManager.FEATURE_MICROPHONE)
                && !pm.hasSystemFeature(PackageManager.FEATURE_TELECOM)) {
            AppOpsManager appOps = mContext.getSystemService(AppOpsManager.class);
            appOps.setUserRestrictionForUser(AppOpsManager.OP_PHONE_CALL_MICROPHONE, true, mToken,
                    null, UserHandle.USER_ALL);