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

Commit 352eea04 authored by Anton Kulakov's avatar Anton Kulakov
Browse files

Only trim applications UidStates in AppOpsService#trimUidStatesLocked

Fixes removal of UidStates for 2 cases:
1) Sandbox UidStates (created in createSandboxUidStateIfNotExistsForAppLocked)
2) Non-application uids from secondary users/profiles.

Bug: 335809734
Test: SdkSandboxMediaHostTest
Change-Id: Iaf8c87377d7727791f5c6b55e7d9aea47d471dcb
parent 80f02617
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1255,7 +1255,9 @@ public class AppOpsService extends IAppOpsService.Stub {
            for (int uidIdx = mUidStates.size() - 1; uidIdx >= 0; uidIdx--) {
                int uid = mUidStates.keyAt(uidIdx);
                if (knownUids.get(uid, false)) {
                    if (uid >= Process.FIRST_APPLICATION_UID) {
                    int appId = UserHandle.getAppId(uid);
                    if (appId >= Process.FIRST_APPLICATION_UID
                            && appId <= Process.LAST_APPLICATION_UID) {
                        ArrayMap<String, Ops> pkgOps = mUidStates.valueAt(uidIdx).pkgOps;
                        for (int pkgIdx = pkgOps.size() - 1; pkgIdx >= 0; pkgIdx--) {
                            String pkgName = pkgOps.keyAt(pkgIdx);