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

Commit 2f37c0d5 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Avoid misleading log while warm launch

When launch a new activity on an existing process, the original code
will let the activity with lastLaunchTime=0 go through setProc ->
addActivityIfNeeded -> setLastActivityLaunchTime. And because the
existing process has mLastActivityLaunchTime>0, the method will print
a confusing log.

So just move the assignment of lastLaunchTime before setProcess. And
remove the later setLastActivityLaunchTime because setProcess has
already called it.

Bug: 243164648
Test: Launch an activity and calls finish(), and then launch it again.
      There should not have a warning log:
      "Tried to set launchTime (0) < mLastActivityLaunchTime".
Change-Id: Id767a0589cbb7d9730a3deceb12789341391cdff
parent 0054cebd
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -789,7 +789,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {

            // schedule launch ticks to collect information about slow apps.
            r.startLaunchTickingLocked();

            r.lastLaunchTime = SystemClock.uptimeMillis();
            r.setProcess(proc);

            // Ensure activity is allowed to be resumed after process has set.
@@ -835,8 +835,6 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {
            final IActivityClientController activityClientController =
                    proc.hasEverLaunchedActivity() ? null : mService.mActivityClientController;
            r.launchCount++;
            r.lastLaunchTime = SystemClock.uptimeMillis();
            proc.setLastActivityLaunchTime(r.lastLaunchTime);

            if (DEBUG_ALL) Slog.v(TAG, "Launching: " + r);