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

Commit a2b727fd authored by Faye Yan's avatar Faye Yan Committed by Automerger Merge Worker
Browse files

Merge "Cleanup step to reverts the USE_FULL_SCREEN_INTENT app op mode to...

Merge "Cleanup step to reverts the USE_FULL_SCREEN_INTENT app op mode to MODE_DEFAULT if the permission flags for the USE_FULL_SCREEN_INTENT permission does not have USER_SET." into udc-dev am: 2256e4ba

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



Change-Id: Iefa2c8a4da2139d8574a7036e64355e945b4d49c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 7ad61dee 2256e4ba
Loading
Loading
Loading
Loading
+41 −2
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.appop;
import static android.app.AppOpsManager.MODE_ALLOWED;
import static android.app.AppOpsManager.MODE_ALLOWED;
import static android.app.AppOpsManager.OP_NONE;
import static android.app.AppOpsManager.OP_NONE;
import static android.app.AppOpsManager.OP_SCHEDULE_EXACT_ALARM;
import static android.app.AppOpsManager.OP_SCHEDULE_EXACT_ALARM;
import static android.app.AppOpsManager.OP_USE_FULL_SCREEN_INTENT;
import static android.app.AppOpsManager.WATCH_FOREGROUND_CHANGES;
import static android.app.AppOpsManager.WATCH_FOREGROUND_CHANGES;
import static android.app.AppOpsManager.opRestrictsRead;
import static android.app.AppOpsManager.opRestrictsRead;
import static android.app.AppOpsManager.opToDefaultMode;
import static android.app.AppOpsManager.opToDefaultMode;
@@ -41,6 +42,7 @@ import android.os.Binder;
import android.os.Handler;
import android.os.Handler;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserHandle;
import android.permission.PermissionManager;
import android.util.ArrayMap;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.ArraySet;
import android.util.AtomicFile;
import android.util.AtomicFile;
@@ -107,7 +109,7 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface
     * {@link #upgradeLocked(int)} below. The first version was 1.
     * {@link #upgradeLocked(int)} below. The first version was 1.
     */
     */
    @VisibleForTesting
    @VisibleForTesting
    static final int CURRENT_VERSION = 3;
    static final int CURRENT_VERSION = 4;


    /**
    /**
     * This stores the version of appops.xml seen at boot. If this is smaller than
     * This stores the version of appops.xml seen at boot. If this is smaller than
@@ -1074,7 +1076,12 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface
                upgradeScheduleExactAlarmLocked();
                upgradeScheduleExactAlarmLocked();
                // fall through
                // fall through
            case 2:
            case 2:
                // for future upgrades
                // split the appops.xml into appops.xml to store appop state and apppops_access.xml
                // to store app-op access.
                // fall through
            case 3:
                resetUseFullScreenIntentLocked();
                // fall through
        }
        }
        scheduleFastWriteLocked();
        scheduleFastWriteLocked();
    }
    }
@@ -1145,6 +1152,38 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface
        }
        }
    }
    }


    /**
     * A cleanup step for U Beta 2 that reverts the OP_USE_FULL_SCREEN_INTENT's mode to MODE_DEFAULT
     * if the permission flags for the USE_FULL_SCREEN_INTENT permission does not have USER_SET.
     */
    @VisibleForTesting
    @GuardedBy("mLock")
    void resetUseFullScreenIntentLocked() {
        final PermissionManagerServiceInternal pmsi = LocalServices.getService(
                PermissionManagerServiceInternal.class);
        final UserManagerInternal umi = LocalServices.getService(UserManagerInternal.class);
        final PackageManagerInternal pmi = LocalServices.getService(PackageManagerInternal.class);
        final PermissionManager permissionManager =
                mContext.getSystemService(PermissionManager.class);

        final String permissionName = AppOpsManager.opToPermission(OP_USE_FULL_SCREEN_INTENT);
        final String[] packagesDeclaringPermission =
            pmsi.getAppOpPermissionPackages(permissionName);
        final int[] userIds = umi.getUserIds();

        for (final String pkg : packagesDeclaringPermission) {
            for (int userId : userIds) {
                final int uid = pmi.getPackageUid(pkg, 0, userId);
                final int flags = permissionManager.getPermissionFlags(pkg, permissionName,
                        UserHandle.of(userId));
                if ((flags & PackageManager.FLAG_PERMISSION_USER_SET) == 0) {
                    setUidMode(uid, OP_USE_FULL_SCREEN_INTENT,
                            AppOpsManager.opToDefaultMode(OP_USE_FULL_SCREEN_INTENT));
                }
            }
        }
    }

    @VisibleForTesting
    @VisibleForTesting
    List<Integer> getUidsWithNonDefaultModes() {
    List<Integer> getUidsWithNonDefaultModes() {
        List<Integer> result = new ArrayList<>();
        List<Integer> result = new ArrayList<>();
+801 −0
Original line number Original line Diff line number Diff line
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<!--
  ~ Copyright (C) 2023 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<app-ops v="3">
    <uid n="1001">
        <op n="0" m="4" />
        <op n="1" m="4" />
        <op n="15" m="0" />
        <op n="27" m="4" />
        <op n="87" m="1" />
    </uid>
    <uid n="1002">
        <op n="0" m="4" />
        <op n="1" m="4" />
        <op n="15" m="0" />
        <op n="87" m="1" />
    </uid>
    <uid n="10077">
        <op n="87" m="1" />
    </uid>
    <uid n="10079">
        <op n="116" m="1" />
    </uid>
    <uid n="10080">
        <op n="87" m="1" />
    </uid>
    <uid n="10081">
        <op n="87" m="1" />
    </uid>
    <uid n="10086">
        <op n="87" m="1" />
    </uid>
    <uid n="10087">
        <op n="59" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10090">
        <op n="0" m="4" />
        <op n="1" m="4" />
    </uid>
    <uid n="10096">
        <op n="0" m="1" />
        <op n="1" m="1" />
    </uid>
    <uid n="10112">
        <op n="11" m="1" />
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="62" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10113">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="51" m="1" />
        <op n="62" m="1" />
    </uid>
    <uid n="10114">
        <op n="4" m="1" />
    </uid>
    <uid n="10115">
        <op n="0" m="1" />
    </uid>
    <uid n="10116">
        <op n="0" m="1" />
    </uid>
    <uid n="10117">
        <op n="0" m="4" />
        <op n="1" m="4" />
        <op n="13" m="1" />
        <op n="14" m="1" />
        <op n="16" m="1" />
        <op n="26" m="4" />
        <op n="27" m="4" />
    </uid>
    <uid n="10118">
        <op n="51" m="1" />
    </uid>
    <uid n="10119">
        <op n="11" m="1" />
        <op n="77" m="1" />
        <op n="111" m="1" />
    </uid>
    <uid n="10120">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="4" m="1" />
        <op n="6" m="1" />
        <op n="7" m="1" />
        <op n="11" m="1" />
        <op n="13" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="54" m="1" />
        <op n="59" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10121">
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10122">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10123">
        <op n="0" m="4" />
        <op n="1" m="4" />
        <op n="87" m="1" />
    </uid>
    <uid n="10124">
        <op n="11" m="1" />
        <op n="26" m="1" />
    </uid>
    <uid n="10125">
        <op n="11" m="1" />
    </uid>
    <uid n="10127">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="26" m="4" />
        <op n="27" m="4" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="65" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
        <op n="111" m="1" />
    </uid>
    <uid n="10129">
        <op n="0" m="1" />
        <op n="1" m="1" />
    </uid>
    <uid n="10130">
        <op n="51" m="1" />
    </uid>
    <uid n="10131">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10132">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="69" m="1" />
        <op n="79" m="1" />
    </uid>
    <uid n="10133">
        <op n="11" m="1" />
    </uid>
    <uid n="10136">
        <op n="0" m="1" />
        <op n="4" m="1" />
        <op n="77" m="1" />
        <op n="87" m="1" />
        <op n="111" m="1" />
        <op n="114" m="1" />
    </uid>
    <uid n="10137">
        <op n="62" m="1" />
    </uid>
    <uid n="10138">
        <op n="26" m="4" />
    </uid>
    <uid n="10140">
        <op n="26" m="4" />
        <op n="27" m="4" />
        <op n="87" m="1" />
    </uid>
    <uid n="10141">
        <op n="11" m="1" />
        <op n="27" m="1" />
        <op n="111" m="1" />
    </uid>
    <uid n="10142">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="11" m="1" />
    </uid>
    <uid n="10144">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="27" m="4" />
        <op n="111" m="1" />
    </uid>
    <uid n="10145">
        <op n="11" m="1" />
    </uid>
    <uid n="10149">
        <op n="11" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10150">
        <op n="51" m="1" />
    </uid>
    <uid n="10151">
        <op n="11" m="1" />
    </uid>
    <uid n="10152">
        <op n="11" m="1" />
    </uid>
    <uid n="10154">
        <op n="0" m="4" />
        <op n="1" m="4" />
        <op n="27" m="4" />
    </uid>
    <uid n="10155">
        <op n="0" m="1" />
        <op n="1" m="1" />
    </uid>
    <uid n="10157">
        <op n="13" m="1" />
    </uid>
    <uid n="10158">
        <op n="11" m="1" />
    </uid>
    <uid n="10160">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="11" m="1" />
        <op n="26" m="4" />
        <op n="27" m="4" />
        <op n="87" m="1" />
    </uid>
    <uid n="10161">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="11" m="1" />
        <op n="51" m="1" />
        <op n="77" m="1" />
        <op n="87" m="1" />
        <op n="111" m="1" />
        <op n="114" m="1" />
    </uid>
    <uid n="10162">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="15" m="0" />
        <op n="26" m="4" />
        <op n="27" m="4" />
        <op n="87" m="1" />
        <op n="89" m="0" />
    </uid>
    <uid n="10163">
        <op n="26" m="4" />
        <op n="27" m="4" />
        <op n="56" m="4" />
        <op n="87" m="1" />
    </uid>
    <uid n="10164">
        <op n="26" m="1" />
        <op n="27" m="4" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="69" m="1" />
        <op n="79" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10169">
        <op n="11" m="1" />
    </uid>
    <uid n="10170">
        <op n="87" m="1" />
    </uid>
    <uid n="10171">
        <op n="26" m="1" />
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10172">
        <op n="11" m="1" />
    </uid>
    <uid n="10173">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="23" m="0" />
        <op n="26" m="1" />
        <op n="51" m="1" />
        <op n="62" m="1" />
        <op n="65" m="1" />
    </uid>
    <uid n="10175">
        <op n="0" m="1" />
        <op n="11" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
    </uid>
    <uid n="10178">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="11" m="1" />
        <op n="27" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10179">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="62" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10180">
        <op n="11" m="1" />
    </uid>
    <uid n="10181">
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="59" m="1" />
        <op n="62" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="1110181">
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
        <op n="107" m="2" />
    </uid>
    <uid n="10182">
        <op n="27" m="4" />
    </uid>
    <uid n="10183">
        <op n="11" m="1" />
        <op n="26" m="4" />
    </uid>
    <uid n="10184">
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="13" m="1" />
        <op n="26" m="1" />
        <op n="27" m="4" />
    </uid>
    <uid n="10185">
        <op n="8" m="1" />
        <op n="59" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10187">
        <op n="11" m="1" />
    </uid>
    <uid n="10189">
        <op n="11" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="51" m="1" />
    </uid>
    <uid n="10190">
        <op n="0" m="1" />
        <op n="13" m="1" />
    </uid>
    <uid n="10191">
        <op n="11" m="1" />
    </uid>
    <uid n="10192">
        <op n="11" m="1" />
        <op n="13" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10193">
        <op n="11" m="1" />
    </uid>
    <uid n="10197">
        <op n="11" m="1" />
    </uid>
    <uid n="10198">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="77" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
        <op n="90" m="1" />
        <op n="107" m="0" />
        <op n="111" m="1" />
        <op n="133" m="0" />
    </uid>
    <uid n="10199">
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="26" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="62" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10200">
        <op n="11" m="1" />
        <op n="65" m="1" />
        <op n="107" m="1" />
        <op n="133" m="1" />
    </uid>
    <uid n="1110200">
        <op n="11" m="1" />
        <op n="65" m="1" />
        <op n="107" m="2" />
        <op n="133" m="2"/>
    </uid>
    <uid n="10201">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="51" m="1" />
        <op n="62" m="1" />
        <op n="84" m="0" />
        <op n="86" m="0" />
        <op n="87" m="1" />
    </uid>
    <uid n="10206">
        <op n="0" m="4" />
        <op n="1" m="4" />
        <op n="26" m="4" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10209">
        <op n="11" m="1" />
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10210">
        <op n="51" m="1" />
    </uid>
    <uid n="10212">
        <op n="11" m="1" />
        <op n="62" m="1" />
    </uid>
    <uid n="10214">
        <op n="26" m="4" />
    </uid>
    <uid n="10216">
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10225">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10229">
        <op n="11" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="62" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10231">
        <op n="51" m="1" />
    </uid>
    <uid n="10232">
        <op n="51" m="1" />
    </uid>
    <uid n="10234">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="11" m="1" />
        <op n="13" m="1" />
        <op n="20" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10235">
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10237">
        <op n="0" m="4" />
        <op n="1" m="4" />
    </uid>
    <uid n="10238">
        <op n="26" m="4" />
        <op n="27" m="4" />
        <op n="87" m="1" />
    </uid>
    <uid n="10240">
        <op n="112" m="1" />
    </uid>
    <uid n="10241">
        <op n="59" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10245">
        <op n="13" m="1" />
        <op n="51" m="1" />
    </uid>
    <uid n="10247">
        <op n="0" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="0" />
        <op n="90" m="1" />
    </uid>
    <uid n="10254">
        <op n="11" m="1" />
    </uid>
    <uid n="10255">
        <op n="11" m="1" />
    </uid>
    <uid n="10256">
        <op n="87" m="1" />
    </uid>
    <uid n="10258">
        <op n="11" m="1" />
    </uid>
    <uid n="10260">
        <op n="51" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="87" m="1" />
    </uid>
    <uid n="10262">
        <op n="15" m="0" />
    </uid>
    <uid n="10266">
        <op n="0" m="4" />
    </uid>
    <uid n="10267">
        <op n="0" m="1" />
        <op n="1" m="1" />
        <op n="4" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="62" m="1" />
        <op n="77" m="1" />
        <op n="81" m="1" />
        <op n="83" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
        <op n="107" m="2" />
        <op n="111" m="1" />
        <op n="133" m="2" />
    </uid>
    <uid n="10268">
        <op n="4" m="1" />
        <op n="11" m="1" />
        <op n="62" m="1" />
    </uid>
    <uid n="10269">
        <op n="11" m="1" />
        <op n="26" m="1" />
        <op n="27" m="1" />
        <op n="59" m="1" />
        <op n="60" m="1" />
        <op n="85" m="1" />
        <op n="87" m="1" />
    </uid>
    <pkg n="com.google.android.iwlan">
        <uid n="0">
            <op n="1" />
            <op n="75" m="0" />
        </uid>
    </pkg>
    <pkg n="com.android.phone">
        <uid n="0">
            <op n="1" />
            <op n="75" m="0" />
        </uid>
    </pkg>
    <pkg n="android">
        <uid n="1000">
            <op n="0">
                <st n="214748364801" t="1670287941040" />
            </op>
            <op n="4">
                <st n="214748364801" t="1670289665522" />
            </op>
            <op n="6">
                <st n="214748364801" t="1670287946650" />
            </op>
            <op n="8">
                <st n="214748364801" t="1670289624396" />
            </op>
            <op n="14">
                <st n="214748364801" t="1670287951031" />
            </op>
            <op n="40">
                <st n="214748364801" t="1670291786337" d="156" />
            </op>
            <op n="41">
                <st id="SensorNotificationService" n="214748364801" t="1670287585567" d="4251183" />
                <st id="CountryDetector" n="214748364801" t="1670287583306" d="6700" />
            </op>
            <op n="43">
                <st n="214748364801" r="1670291755062" />
            </op>
            <op n="61">
                <st n="214748364801" r="1670291754997" />
            </op>
            <op n="105">
                <st n="214748364801" r="1670291473903" />
                <st id="GnssService" n="214748364801" r="1670288044920" />
            </op>
            <op n="111">
                <st n="214748364801" t="1670291441554" />
            </op>
        </uid>
    </pkg>
    <pkg n="com.android.server.telecom">
        <uid n="1000">
            <op n="6">
                <st n="214748364801" t="1670287609092" />
            </op>
            <op n="111">
                <st n="214748364801" t="1670287583728" />
            </op>
        </uid>
    </pkg>
    <pkg n="com.android.settings">
        <uid n="1000">
            <op n="43">
                <st n="214748364801" r="1670291447349" />
            </op>
            <op n="105">
                <st n="214748364801" r="1670291399231" />
            </op>
            <op n="111">
                <st n="214748364801" t="1670291756910" />
            </op>
        </uid>
    </pkg>
    <pkg n="com.android.phone">
        <uid n="1001">
            <op n="15">
                <st n="214748364801" t="1670287951022" />
            </op>
            <op n="40">
                <st n="214748364801" t="1670291786177" />
            </op>
            <op n="105">
                <st n="214748364801" r="1670291756403" />
            </op>
        </uid>
    </pkg>
    <pkg n="com.android.bluetooth">
        <uid n="1002">
            <op n="4">
                <st n="214748364801" t="1670289671076" />
            </op>
            <op n="40">
                <st n="214748364801" t="1670287585676" d="8" />
            </op>
            <op n="43">
                <st n="214748364801" r="1670287585818" />
            </op>
            <op n="77">
                <st n="214748364801" t="1670288037629" />
            </op>
            <op n="111">
                <st n="214748364801" t="1670287592081" />
            </op>
        </uid>
    </pkg>
    <pkg n="com.android.vending">
        <uid n="10136">
            <op n="40">
                <st n="429496729601" t="1670289621210" d="114" />
                <st n="858993459201" t="1670289879730" d="349" />
                <st n="1288490188801" t="1670287942622" d="937" />
            </op>
            <op n="43">
                <st n="429496729601" r="1670289755305" />
                <st n="858993459201" r="1670288019246" />
                <st n="1073741824001" r="1670289571783" />
                <st n="1288490188801" r="1670289373336" />
            </op>
            <op n="76">
                <st n="429496729601" t="1670289748735" d="15991" />
                <st n="858993459201" t="1670291395180" d="79201" />
                <st n="1073741824001" t="1670291395168" d="12" />
                <st n="1288490188801" t="1670291526029" d="3" />
                <st n="1503238553601" t="1670291526032" d="310718" />
            </op>
            <op n="105">
                <st n="429496729601" r="1670289538910" />
                <st n="858993459201" r="1670288054519" />
                <st n="1073741824001" r="1670287599379" />
                <st n="1288490188801" r="1670289526854" />
                <st n="1503238553601" r="1670289528242" />
            </op>
        </uid>
    </pkg>
    <pkg n="com.android.nfc">
        <uid n="1027">
            <op n="40">
                <st n="214748364801" t="1670291786330" d="22" />
            </op>
        </uid>
    </pkg>
</app-ops>
 No newline at end of file