Loading services/core/java/com/android/server/power/LowPowerStandbyController.java +38 −22 Original line number Original line Diff line number Diff line Loading @@ -810,7 +810,7 @@ public class LowPowerStandbyController { } } } } @NonNull @Nullable LowPowerStandbyPolicy getPolicy() { LowPowerStandbyPolicy getPolicy() { synchronized (mLock) { synchronized (mLock) { if (!mSupportedConfig) { if (!mSupportedConfig) { Loading Loading @@ -912,9 +912,10 @@ public class LowPowerStandbyController { final int[] allowlistUids = getAllowlistUidsLocked(); final int[] allowlistUids = getAllowlistUidsLocked(); ipw.print("Allowed UIDs="); ipw.print("Allowed UIDs="); ipw.println(Arrays.toString(allowlistUids)); ipw.println(Arrays.toString(allowlistUids)); ipw.println(); final LowPowerStandbyPolicy policy = getPolicy(); final LowPowerStandbyPolicy policy = getPolicy(); if (policy != null) { ipw.println(); ipw.println("mPolicy:"); ipw.println("mPolicy:"); ipw.increaseIndent(); ipw.increaseIndent(); ipw.print("mIdentifier="); ipw.print("mIdentifier="); Loading @@ -926,6 +927,7 @@ public class LowPowerStandbyController { ipw.print("mAllowedFeatures="); ipw.print("mAllowedFeatures="); ipw.println(String.join(",", policy.getAllowedFeatures())); ipw.println(String.join(",", policy.getAllowedFeatures())); ipw.decreaseIndent(); ipw.decreaseIndent(); } ipw.println(); ipw.println(); ipw.println("UID allowed reasons:"); ipw.println("UID allowed reasons:"); Loading Loading @@ -965,8 +967,9 @@ public class LowPowerStandbyController { proto.write(LowPowerStandbyControllerDumpProto.ALLOWLIST, appId); proto.write(LowPowerStandbyControllerDumpProto.ALLOWLIST, appId); } } long policyToken = proto.start(LowPowerStandbyControllerDumpProto.POLICY); final LowPowerStandbyPolicy policy = getPolicy(); final LowPowerStandbyPolicy policy = getPolicy(); if (policy != null) { long policyToken = proto.start(LowPowerStandbyControllerDumpProto.POLICY); proto.write(LowPowerStandbyPolicyProto.IDENTIFIER, policy.getIdentifier()); proto.write(LowPowerStandbyPolicyProto.IDENTIFIER, policy.getIdentifier()); for (String exemptPackage : policy.getExemptPackages()) { for (String exemptPackage : policy.getExemptPackages()) { proto.write(LowPowerStandbyPolicyProto.EXEMPT_PACKAGES, exemptPackage); proto.write(LowPowerStandbyPolicyProto.EXEMPT_PACKAGES, exemptPackage); Loading @@ -976,6 +979,7 @@ public class LowPowerStandbyController { proto.write(LowPowerStandbyPolicyProto.ALLOWED_FEATURES, feature); proto.write(LowPowerStandbyPolicyProto.ALLOWED_FEATURES, feature); } } proto.end(policyToken); proto.end(policyToken); } proto.end(token); proto.end(token); } } } } Loading Loading @@ -1045,6 +1049,9 @@ public class LowPowerStandbyController { "Adding to allowlist: uid=" + uid + ", allowedReason=" + allowedReason); "Adding to allowlist: uid=" + uid + ", allowedReason=" + allowedReason); } } synchronized (mLock) { synchronized (mLock) { if (!mSupportedConfig) { return; } if (allowedReason != 0 && !hasAllowedReasonLocked(uid, allowedReason)) { if (allowedReason != 0 && !hasAllowedReasonLocked(uid, allowedReason)) { addAllowedReasonLocked(uid, allowedReason); addAllowedReasonLocked(uid, allowedReason); if ((getPolicy().getAllowedReasons() & allowedReason) != 0) { if ((getPolicy().getAllowedReasons() & allowedReason) != 0) { Loading @@ -1060,6 +1067,9 @@ public class LowPowerStandbyController { Slog.i(TAG, "Removing from allowlist: uid=" + uid + ", allowedReason=" + allowedReason); Slog.i(TAG, "Removing from allowlist: uid=" + uid + ", allowedReason=" + allowedReason); } } synchronized (mLock) { synchronized (mLock) { if (!mSupportedConfig) { return; } if (allowedReason != 0 && hasAllowedReasonLocked(uid, allowedReason)) { if (allowedReason != 0 && hasAllowedReasonLocked(uid, allowedReason)) { removeAllowedReasonLocked(uid, allowedReason); removeAllowedReasonLocked(uid, allowedReason); if ((getPolicy().getAllowedReasons() & allowedReason) != 0) { if ((getPolicy().getAllowedReasons() & allowedReason) != 0) { Loading @@ -1075,6 +1085,9 @@ public class LowPowerStandbyController { final PackageManager packageManager = mContext.getPackageManager(); final PackageManager packageManager = mContext.getPackageManager(); final LowPowerStandbyPolicy policy = getPolicy(); final LowPowerStandbyPolicy policy = getPolicy(); final List<Integer> appIds = new ArrayList<>(); final List<Integer> appIds = new ArrayList<>(); if (policy == null) { return appIds; } for (String packageName : policy.getExemptPackages()) { for (String packageName : policy.getExemptPackages()) { try { try { Loading @@ -1098,6 +1111,9 @@ public class LowPowerStandbyController { final List<UserHandle> userHandles = userManager.getUserHandles(true); final List<UserHandle> userHandles = userManager.getUserHandles(true); final ArraySet<Integer> uids = new ArraySet<>(mUidAllowedReasons.size()); final ArraySet<Integer> uids = new ArraySet<>(mUidAllowedReasons.size()); final LowPowerStandbyPolicy policy = getPolicy(); final LowPowerStandbyPolicy policy = getPolicy(); if (policy == null) { return new int[0]; } final int policyAllowedReasons = policy.getAllowedReasons(); final int policyAllowedReasons = policy.getAllowedReasons(); for (int i = 0; i < mUidAllowedReasons.size(); i++) { for (int i = 0; i < mUidAllowedReasons.size(); i++) { Loading Loading
services/core/java/com/android/server/power/LowPowerStandbyController.java +38 −22 Original line number Original line Diff line number Diff line Loading @@ -810,7 +810,7 @@ public class LowPowerStandbyController { } } } } @NonNull @Nullable LowPowerStandbyPolicy getPolicy() { LowPowerStandbyPolicy getPolicy() { synchronized (mLock) { synchronized (mLock) { if (!mSupportedConfig) { if (!mSupportedConfig) { Loading Loading @@ -912,9 +912,10 @@ public class LowPowerStandbyController { final int[] allowlistUids = getAllowlistUidsLocked(); final int[] allowlistUids = getAllowlistUidsLocked(); ipw.print("Allowed UIDs="); ipw.print("Allowed UIDs="); ipw.println(Arrays.toString(allowlistUids)); ipw.println(Arrays.toString(allowlistUids)); ipw.println(); final LowPowerStandbyPolicy policy = getPolicy(); final LowPowerStandbyPolicy policy = getPolicy(); if (policy != null) { ipw.println(); ipw.println("mPolicy:"); ipw.println("mPolicy:"); ipw.increaseIndent(); ipw.increaseIndent(); ipw.print("mIdentifier="); ipw.print("mIdentifier="); Loading @@ -926,6 +927,7 @@ public class LowPowerStandbyController { ipw.print("mAllowedFeatures="); ipw.print("mAllowedFeatures="); ipw.println(String.join(",", policy.getAllowedFeatures())); ipw.println(String.join(",", policy.getAllowedFeatures())); ipw.decreaseIndent(); ipw.decreaseIndent(); } ipw.println(); ipw.println(); ipw.println("UID allowed reasons:"); ipw.println("UID allowed reasons:"); Loading Loading @@ -965,8 +967,9 @@ public class LowPowerStandbyController { proto.write(LowPowerStandbyControllerDumpProto.ALLOWLIST, appId); proto.write(LowPowerStandbyControllerDumpProto.ALLOWLIST, appId); } } long policyToken = proto.start(LowPowerStandbyControllerDumpProto.POLICY); final LowPowerStandbyPolicy policy = getPolicy(); final LowPowerStandbyPolicy policy = getPolicy(); if (policy != null) { long policyToken = proto.start(LowPowerStandbyControllerDumpProto.POLICY); proto.write(LowPowerStandbyPolicyProto.IDENTIFIER, policy.getIdentifier()); proto.write(LowPowerStandbyPolicyProto.IDENTIFIER, policy.getIdentifier()); for (String exemptPackage : policy.getExemptPackages()) { for (String exemptPackage : policy.getExemptPackages()) { proto.write(LowPowerStandbyPolicyProto.EXEMPT_PACKAGES, exemptPackage); proto.write(LowPowerStandbyPolicyProto.EXEMPT_PACKAGES, exemptPackage); Loading @@ -976,6 +979,7 @@ public class LowPowerStandbyController { proto.write(LowPowerStandbyPolicyProto.ALLOWED_FEATURES, feature); proto.write(LowPowerStandbyPolicyProto.ALLOWED_FEATURES, feature); } } proto.end(policyToken); proto.end(policyToken); } proto.end(token); proto.end(token); } } } } Loading Loading @@ -1045,6 +1049,9 @@ public class LowPowerStandbyController { "Adding to allowlist: uid=" + uid + ", allowedReason=" + allowedReason); "Adding to allowlist: uid=" + uid + ", allowedReason=" + allowedReason); } } synchronized (mLock) { synchronized (mLock) { if (!mSupportedConfig) { return; } if (allowedReason != 0 && !hasAllowedReasonLocked(uid, allowedReason)) { if (allowedReason != 0 && !hasAllowedReasonLocked(uid, allowedReason)) { addAllowedReasonLocked(uid, allowedReason); addAllowedReasonLocked(uid, allowedReason); if ((getPolicy().getAllowedReasons() & allowedReason) != 0) { if ((getPolicy().getAllowedReasons() & allowedReason) != 0) { Loading @@ -1060,6 +1067,9 @@ public class LowPowerStandbyController { Slog.i(TAG, "Removing from allowlist: uid=" + uid + ", allowedReason=" + allowedReason); Slog.i(TAG, "Removing from allowlist: uid=" + uid + ", allowedReason=" + allowedReason); } } synchronized (mLock) { synchronized (mLock) { if (!mSupportedConfig) { return; } if (allowedReason != 0 && hasAllowedReasonLocked(uid, allowedReason)) { if (allowedReason != 0 && hasAllowedReasonLocked(uid, allowedReason)) { removeAllowedReasonLocked(uid, allowedReason); removeAllowedReasonLocked(uid, allowedReason); if ((getPolicy().getAllowedReasons() & allowedReason) != 0) { if ((getPolicy().getAllowedReasons() & allowedReason) != 0) { Loading @@ -1075,6 +1085,9 @@ public class LowPowerStandbyController { final PackageManager packageManager = mContext.getPackageManager(); final PackageManager packageManager = mContext.getPackageManager(); final LowPowerStandbyPolicy policy = getPolicy(); final LowPowerStandbyPolicy policy = getPolicy(); final List<Integer> appIds = new ArrayList<>(); final List<Integer> appIds = new ArrayList<>(); if (policy == null) { return appIds; } for (String packageName : policy.getExemptPackages()) { for (String packageName : policy.getExemptPackages()) { try { try { Loading @@ -1098,6 +1111,9 @@ public class LowPowerStandbyController { final List<UserHandle> userHandles = userManager.getUserHandles(true); final List<UserHandle> userHandles = userManager.getUserHandles(true); final ArraySet<Integer> uids = new ArraySet<>(mUidAllowedReasons.size()); final ArraySet<Integer> uids = new ArraySet<>(mUidAllowedReasons.size()); final LowPowerStandbyPolicy policy = getPolicy(); final LowPowerStandbyPolicy policy = getPolicy(); if (policy == null) { return new int[0]; } final int policyAllowedReasons = policy.getAllowedReasons(); final int policyAllowedReasons = policy.getAllowedReasons(); for (int i = 0; i < mUidAllowedReasons.size(); i++) { for (int i = 0; i < mUidAllowedReasons.size(); i++) { Loading