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

Commit f22525e2 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Store track name inside ProcessStateRecord" into main

parents 7f48fbe0 26c1b89d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -627,7 +627,7 @@ class ProcessRecord implements WindowProcessListener {
        mProviders = new ProcessProviderRecord(this);
        mReceivers = new ProcessReceiverRecord(this);
        mErrorState = new ProcessErrorStateRecord(this);
        mState = new ProcessStateRecord(this);
        mState = new ProcessStateRecord(processName, uid, this);
        mOptRecord = new ProcessCachedOptimizerRecord(this);
        final long now = SystemClock.uptimeMillis();
        mProfile.init(now);
+21 −7
Original line number Diff line number Diff line
@@ -50,6 +50,10 @@ final class ProcessStateRecord {
    // Enable this to trace all OomAdjuster state transitions
    private static final boolean TRACE_OOM_ADJ = false;

    private final String mProcessName;
    private final int mUid;
    private String mTrackName;

    private final ProcessRecord mApp;
    private final ActivityManagerService mService;
    private final ActivityManagerGlobalLock mProcLock;
@@ -438,7 +442,9 @@ final class ProcessStateRecord {
    @GuardedBy("mService")
    private long mFollowupUpdateUptimeMs = Long.MAX_VALUE;

    ProcessStateRecord(ProcessRecord app) {
    ProcessStateRecord(String processName, int uid, ProcessRecord app) {
        mProcessName = processName;
        mUid = uid;
        mApp = app;
        mService = app.mService;
        mProcLock = mService.mProcLock;
@@ -882,10 +888,9 @@ final class ProcessStateRecord {
    @GuardedBy("mService")
    void setAdjType(String adjType) {
        if (TRACE_OOM_ADJ) {
            Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER,
                    "oom:" + mApp.processName + "/u" + mApp.uid, 0);
            Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER,
                    "oom:" + mApp.processName + "/u" + mApp.uid, adjType, 0);
            Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER, getTrackName(), 0);
            Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, getTrackName(),
                    adjType, 0);
        }
        mAdjType = adjType;
    }
@@ -1221,8 +1226,7 @@ final class ProcessStateRecord {
    @GuardedBy({"mService", "mProcLock"})
    void onCleanupApplicationRecordLSP() {
        if (TRACE_OOM_ADJ) {
            Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER,
                    "oom:" + mApp.processName + "/u" + mApp.uid, 0);
            Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER, getTrackName(), 0);
        }
        setHasForegroundActivities(false);
        mHasShownUi = false;
@@ -1321,6 +1325,16 @@ final class ProcessStateRecord {
        return mCacheOomRankerRssTimeMs;
    }

    /**
     * Lazily initiate and return the track name.
     */
    private String getTrackName() {
        if (mTrackName == null) {
            mTrackName = "oom:" + mProcessName + "/u" + mUid;
        }
        return mTrackName;
    }

    @GuardedBy({"mService", "mProcLock"})
    void dump(PrintWriter pw, String prefix, long nowUptime) {
        if (mReportedInteraction || mFgInteractionTime != 0) {