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

Commit 7bd505f7 authored by Louis Chang's avatar Louis Chang Committed by Android (Google) Code Review
Browse files

Merge "Allow resumed activity to turn-screen-on only when being started" into tm-qpr-dev

parents 7d5fd430 3043c92b
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -5460,7 +5460,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
                wasStopped, this);
        mAppStopped = false;
        // Allow the window to turn the screen on once the app is resumed again.
        if (mAtmService.getActivityStartController().isInExecution()) {
            setCurrentLaunchCanTurnScreenOn(true);
        }

        if (!wasStopped) {
            destroySurfaces(true /*cleanupOnResume*/);
        }
+10 −0
Original line number Diff line number Diff line
@@ -90,6 +90,8 @@ public class ActivityStartController {

    boolean mCheckedForSetup = false;

    private boolean mInExecution = false;

    /**
     * TODO(b/64750076): Capture information necessary for dump and
     * {@link #postStartActivityProcessingForLastStarter} rather than keeping the entire object
@@ -123,7 +125,15 @@ public class ActivityStartController {
        return mFactory.obtain().setIntent(intent).setReason(reason);
    }

    void onExecutionStarted(ActivityStarter starter) {
        mInExecution = true;
    }

    boolean isInExecution() {
        return mInExecution;
    }
    void onExecutionComplete(ActivityStarter starter) {
        mInExecution = false;
        if (mLastStarter == null) {
            mLastStarter = mFactory.obtain();
        }
+6 −0
Original line number Diff line number Diff line
@@ -633,6 +633,8 @@ class ActivityStarter {
     */
    int execute() {
        try {
            onExecutionStarted();

            // Refuse possible leaked file descriptors
            if (mRequest.intent != null && mRequest.intent.hasFileDescriptors()) {
                throw new IllegalArgumentException("File descriptors passed in Intent");
@@ -1247,6 +1249,10 @@ class ActivityStarter {
        mController.onExecutionComplete(this);
    }

    private void onExecutionStarted() {
        mController.onExecutionStarted(this);
    }

    private boolean isHomeApp(int uid, @Nullable String packageName) {
        if (mService.mHomeProcess != null) {
            // Fast check