From 1c92e9d48593e23968c5237acadb840d24bc0f19 Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Wed, 1 Mar 2023 17:35:15 -0800 Subject: [PATCH] Use existing uid state/capability/widget visibility as default When committing uid state, if there is no pending state/capapbility/visibility, use the existing state as a default, rather than the minimum Fixes: 270555157 Test: manual Change-Id: I6dd6fcbf27c628af7f9cfcf7e024fd6ac74d3d5e --- .../android/server/appop/AppOpsUidStateTrackerImpl.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/appop/AppOpsUidStateTrackerImpl.java b/services/core/java/com/android/server/appop/AppOpsUidStateTrackerImpl.java index 49279d44ea7cb..2d6966ad0cf84 100644 --- a/services/core/java/com/android/server/appop/AppOpsUidStateTrackerImpl.java +++ b/services/core/java/com/android/server/appop/AppOpsUidStateTrackerImpl.java @@ -327,9 +327,12 @@ class AppOpsUidStateTrackerImpl implements AppOpsUidStateTracker { } private void commitUidPendingState(int uid) { - int pendingUidState = mPendingUidStates.get(uid, MIN_PRIORITY_UID_STATE); - int pendingCapability = mPendingCapability.get(uid, PROCESS_CAPABILITY_NONE); - boolean pendingVisibleAppWidget = mPendingVisibleAppWidget.get(uid, false); + int pendingUidState = mPendingUidStates.get(uid, + mUidStates.get(uid, MIN_PRIORITY_UID_STATE)); + int pendingCapability = mPendingCapability.get(uid, + mCapability.get(uid, PROCESS_CAPABILITY_NONE)); + boolean pendingVisibleAppWidget = mPendingVisibleAppWidget.get(uid, + mVisibleAppWidget.get(uid, false)); int uidState = mUidStates.get(uid, MIN_PRIORITY_UID_STATE); int capability = mCapability.get(uid, PROCESS_CAPABILITY_NONE);