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

Commit be41ac73 authored by Kishore Kumar Nandigam's avatar Kishore Kumar Nandigam
Browse files

Optimize code for performance

Problem statement:
Very unlikely to encounter ArrayIndexOutOfBoundsException on SparseIntArray.get()

Solution:
Optimize the redundant invocation and reduce ambiguity in recalculating the default value.

Bug id: 395793343

Change-Id: I56595090d2ab39bb723f63f7b708335f5e434d74
parent 228ccb46
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -334,17 +334,15 @@ class AppOpsUidStateTrackerImpl implements AppOpsUidStateTracker {
    }

    private void commitUidPendingState(int uid) {
        int pendingUidState = mPendingUidStates.get(uid,
                mUidStates.get(uid, MIN_PRIORITY_UID_STATE));
        int pendingCapability = mPendingCapability.get(uid,
                mCapability.get(uid, PROCESS_CAPABILITY_NONE));
        boolean pendingAppWidgetVisible = mPendingAppWidgetVisible.get(uid,
                mAppWidgetVisible.get(uid, false));

        int uidState = mUidStates.get(uid, MIN_PRIORITY_UID_STATE);
        int capability = mCapability.get(uid, PROCESS_CAPABILITY_NONE);
        boolean appWidgetVisible = mAppWidgetVisible.get(uid, false);

        int pendingUidState = mPendingUidStates.get(uid, uidState);
        int pendingCapability = mPendingCapability.get(uid, capability);
        boolean pendingAppWidgetVisible = mPendingAppWidgetVisible.get(uid, appWidgetVisible);

        boolean foregroundChange = uidState <= UID_STATE_MAX_LAST_NON_RESTRICTED
                != pendingUidState <= UID_STATE_MAX_LAST_NON_RESTRICTED
                || capability != pendingCapability