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

Commit 7bf837e6 authored by Wei Wang's avatar Wei Wang Committed by android-build-merger
Browse files

Merge \"Add launch power hint for activity launch end\" into nyc-mr1-dev

am: a4e2bf47

Change-Id: I6ffa3183f66121df9004880aa46e81f336ddfeae
parents 3ada4842 a4e2bf47
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -870,6 +870,8 @@ public final class ActivityStackSupervisor implements DisplayListener {
                }
            }
        }
        // Send launch end powerhint when idle
        mService.mActivityStarter.sendPowerHintForLaunchEndIfNeeded();
        return true;
    }

@@ -2755,6 +2757,9 @@ public final class ActivityStackSupervisor implements DisplayListener {
            }
        }

        // Send launch end powerhint before going sleep
        mService.mActivityStarter.sendPowerHintForLaunchEndIfNeeded();

        for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) {
            final ArrayList<ActivityStack> stacks = mActivityDisplays.valueAt(displayNdx).mStacks;
            for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
@@ -4422,7 +4427,7 @@ public final class ActivityStackSupervisor implements DisplayListener {
        // Work Challenge is present) let startActivityInPackage handle the intercepting.
        if (!mService.mUserController.shouldConfirmCredentials(task.userId)
                && task.getRootActivity() != null) {
            mService.mActivityStarter.sendPowerHintForLaunchIfNeeded(true /* forceSend */);
            mService.mActivityStarter.sendPowerHintForLaunchStartIfNeeded(true /* forceSend */);
            mActivityMetricsLogger.notifyActivityLaunching();
            mService.moveTaskToFrontLocked(task.taskId, 0, bOptions);
            mActivityMetricsLogger.notifyActivityLaunched(ActivityManager.START_TASK_TO_FRONT,
+13 −7
Original line number Diff line number Diff line
@@ -212,8 +212,6 @@ class ActivityStarter {
        mKeepCurTransition = false;
        mAvoidMoveToFront = false;

        mPowerHintSent = false;

        mVoiceSession = null;
        mVoiceInteractor = null;
    }
@@ -947,8 +945,8 @@ class ActivityStarter {
        return START_SUCCESS;
    }

    void sendPowerHintForLaunchIfNeeded(boolean forceSend) {
        // Trigger launch power hint if activity is not in the current task
    void sendPowerHintForLaunchStartIfNeeded(boolean forceSend) {
        // Trigger launch power hint if activity being launched is not in the current task
        final ActivityStack focusStack = mSupervisor.getFocusedStack();
        final ActivityRecord curTop = (focusStack == null)
            ? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop);
@@ -956,11 +954,19 @@ class ActivityStarter {
                curTop.task != null && mStartActivity != null &&
                curTop.task != mStartActivity.task )) &&
                mService.mLocalPowerManager != null) {
            mService.mLocalPowerManager.powerHint(PowerManagerInternal.POWER_HINT_LAUNCH, 0);
            mService.mLocalPowerManager.powerHint(PowerManagerInternal.POWER_HINT_LAUNCH, 1);
            mPowerHintSent = true;
        }
    }

    void sendPowerHintForLaunchEndIfNeeded() {
        // Trigger launch power hint if activity is launched
        if (mPowerHintSent && mService.mLocalPowerManager != null) {
            mService.mLocalPowerManager.powerHint(PowerManagerInternal.POWER_HINT_LAUNCH, 0);
            mPowerHintSent = false;
        }
    }

    private int startActivityUnchecked(final ActivityRecord r, ActivityRecord sourceRecord,
            IVoiceInteractionSession voiceSession, IVoiceInteractor voiceInteractor,
            int startFlags, boolean doResume, ActivityOptions options, TaskRecord inTask) {
@@ -1022,7 +1028,7 @@ class ActivityStarter {
                }
            }

            sendPowerHintForLaunchIfNeeded(false /* forceSend */);
            sendPowerHintForLaunchStartIfNeeded(false /* forceSend */);

            mReusedActivity = setTargetStackAndMoveToFrontIfNeeded(mReusedActivity);

@@ -1147,7 +1153,7 @@ class ActivityStarter {
                EventLogTags.AM_CREATE_ACTIVITY, mStartActivity, mStartActivity.task);
        mTargetStack.mLastPausedActivity = null;

        sendPowerHintForLaunchIfNeeded(false /* forceSend */);
        sendPowerHintForLaunchStartIfNeeded(false /* forceSend */);

        mTargetStack.startActivityLocked(mStartActivity, newTask, mKeepCurTransition, mOptions);
        if (mDoResume) {