Loading services/core/java/com/android/server/am/ActivityStackSupervisor.java +6 −1 Original line number Diff line number Diff line Loading @@ -870,6 +870,8 @@ public final class ActivityStackSupervisor implements DisplayListener { } } } // Send launch end powerhint when idle mService.mActivityStarter.sendPowerHintForLaunchEndIfNeeded(); return true; } Loading Loading @@ -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) { Loading Loading @@ -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, Loading services/core/java/com/android/server/am/ActivityStarter.java +13 −7 Original line number Diff line number Diff line Loading @@ -212,8 +212,6 @@ class ActivityStarter { mKeepCurTransition = false; mAvoidMoveToFront = false; mPowerHintSent = false; mVoiceSession = null; mVoiceInteractor = null; } Loading Loading @@ -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); Loading @@ -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) { Loading Loading @@ -1022,7 +1028,7 @@ class ActivityStarter { } } sendPowerHintForLaunchIfNeeded(false /* forceSend */); sendPowerHintForLaunchStartIfNeeded(false /* forceSend */); mReusedActivity = setTargetStackAndMoveToFrontIfNeeded(mReusedActivity); Loading Loading @@ -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) { Loading Loading
services/core/java/com/android/server/am/ActivityStackSupervisor.java +6 −1 Original line number Diff line number Diff line Loading @@ -870,6 +870,8 @@ public final class ActivityStackSupervisor implements DisplayListener { } } } // Send launch end powerhint when idle mService.mActivityStarter.sendPowerHintForLaunchEndIfNeeded(); return true; } Loading Loading @@ -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) { Loading Loading @@ -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, Loading
services/core/java/com/android/server/am/ActivityStarter.java +13 −7 Original line number Diff line number Diff line Loading @@ -212,8 +212,6 @@ class ActivityStarter { mKeepCurTransition = false; mAvoidMoveToFront = false; mPowerHintSent = false; mVoiceSession = null; mVoiceInteractor = null; } Loading Loading @@ -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); Loading @@ -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) { Loading Loading @@ -1022,7 +1028,7 @@ class ActivityStarter { } } sendPowerHintForLaunchIfNeeded(false /* forceSend */); sendPowerHintForLaunchStartIfNeeded(false /* forceSend */); mReusedActivity = setTargetStackAndMoveToFrontIfNeeded(mReusedActivity); Loading Loading @@ -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) { Loading