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

Commit 4a32fdef authored by Rhed Jao's avatar Rhed Jao Committed by Android (Google) Code Review
Browse files

Merge "Improve the cache rebuild latency of AppsFilter on boot #3"

parents bd991924 af5f0c40
Loading
Loading
Loading
Loading
+18 −21
Original line number Diff line number Diff line
@@ -399,6 +399,24 @@ public abstract class AppsFilterBase implements AppsFilterSnapshot {
                Slog.wtf(TAG, "No setting found for non system uid " + callingUid);
                return true;
            }

            if (DEBUG_TRACING) {
                Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "getAppId");
            }
            final int callingAppId = UserHandle.getAppId(callingUid);
            final int targetAppId = targetPkgSetting.getAppId();
            if (DEBUG_TRACING) {
                Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
            }
            if (callingAppId == targetAppId
                    || callingAppId < Process.FIRST_APPLICATION_UID
                    || targetAppId < Process.FIRST_APPLICATION_UID) {
                if (DEBUG_LOGGING) {
                    log(callingSetting, targetPkgSetting, "same app id or core app id");
                }
                return false;
            }

            final PackageStateInternal callingPkgSetting;
            if (DEBUG_TRACING) {
                Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "callingSetting instanceof");
@@ -446,27 +464,6 @@ public abstract class AppsFilterBase implements AppsFilterSnapshot {
                }
            }

            if (DEBUG_TRACING) {
                Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "getAppId");
            }
            final int callingAppId;
            if (callingPkgSetting != null) {
                callingAppId = callingPkgSetting.getAppId();
            } else {
                // all should be the same
                callingAppId = callingSharedPkgSettings.valueAt(0).getAppId();
            }
            final int targetAppId = targetPkgSetting.getAppId();
            if (DEBUG_TRACING) {
                Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
            }
            if (callingAppId == targetAppId) {
                if (DEBUG_LOGGING) {
                    log(callingSetting, targetPkgSetting, "same app id");
                }
                return false;
            }

            try {
                if (DEBUG_TRACING) {
                    Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "requestsQueryAllPackages");