Merge \"Add launch power hint for activity launch end\" into nyc-mr1-dev
am: a4e2bf4712
Change-Id: I6ffa3183f66121df9004880aa46e81f336ddfeae
This commit is contained in:
@@ -870,6 +870,8 @@ public final class ActivityStackSupervisor implements DisplayListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Send launch end powerhint when idle
|
||||||
|
mService.mActivityStarter.sendPowerHintForLaunchEndIfNeeded();
|
||||||
return true;
|
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) {
|
for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) {
|
||||||
final ArrayList<ActivityStack> stacks = mActivityDisplays.valueAt(displayNdx).mStacks;
|
final ArrayList<ActivityStack> stacks = mActivityDisplays.valueAt(displayNdx).mStacks;
|
||||||
for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
|
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.
|
// Work Challenge is present) let startActivityInPackage handle the intercepting.
|
||||||
if (!mService.mUserController.shouldConfirmCredentials(task.userId)
|
if (!mService.mUserController.shouldConfirmCredentials(task.userId)
|
||||||
&& task.getRootActivity() != null) {
|
&& task.getRootActivity() != null) {
|
||||||
mService.mActivityStarter.sendPowerHintForLaunchIfNeeded(true /* forceSend */);
|
mService.mActivityStarter.sendPowerHintForLaunchStartIfNeeded(true /* forceSend */);
|
||||||
mActivityMetricsLogger.notifyActivityLaunching();
|
mActivityMetricsLogger.notifyActivityLaunching();
|
||||||
mService.moveTaskToFrontLocked(task.taskId, 0, bOptions);
|
mService.moveTaskToFrontLocked(task.taskId, 0, bOptions);
|
||||||
mActivityMetricsLogger.notifyActivityLaunched(ActivityManager.START_TASK_TO_FRONT,
|
mActivityMetricsLogger.notifyActivityLaunched(ActivityManager.START_TASK_TO_FRONT,
|
||||||
|
|||||||
@@ -212,8 +212,6 @@ class ActivityStarter {
|
|||||||
mKeepCurTransition = false;
|
mKeepCurTransition = false;
|
||||||
mAvoidMoveToFront = false;
|
mAvoidMoveToFront = false;
|
||||||
|
|
||||||
mPowerHintSent = false;
|
|
||||||
|
|
||||||
mVoiceSession = null;
|
mVoiceSession = null;
|
||||||
mVoiceInteractor = null;
|
mVoiceInteractor = null;
|
||||||
}
|
}
|
||||||
@@ -947,8 +945,8 @@ class ActivityStarter {
|
|||||||
return START_SUCCESS;
|
return START_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendPowerHintForLaunchIfNeeded(boolean forceSend) {
|
void sendPowerHintForLaunchStartIfNeeded(boolean forceSend) {
|
||||||
// Trigger launch power hint if activity is not in the current task
|
// Trigger launch power hint if activity being launched is not in the current task
|
||||||
final ActivityStack focusStack = mSupervisor.getFocusedStack();
|
final ActivityStack focusStack = mSupervisor.getFocusedStack();
|
||||||
final ActivityRecord curTop = (focusStack == null)
|
final ActivityRecord curTop = (focusStack == null)
|
||||||
? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop);
|
? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop);
|
||||||
@@ -956,11 +954,19 @@ class ActivityStarter {
|
|||||||
curTop.task != null && mStartActivity != null &&
|
curTop.task != null && mStartActivity != null &&
|
||||||
curTop.task != mStartActivity.task )) &&
|
curTop.task != mStartActivity.task )) &&
|
||||||
mService.mLocalPowerManager != null) {
|
mService.mLocalPowerManager != null) {
|
||||||
mService.mLocalPowerManager.powerHint(PowerManagerInternal.POWER_HINT_LAUNCH, 0);
|
mService.mLocalPowerManager.powerHint(PowerManagerInternal.POWER_HINT_LAUNCH, 1);
|
||||||
mPowerHintSent = true;
|
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,
|
private int startActivityUnchecked(final ActivityRecord r, ActivityRecord sourceRecord,
|
||||||
IVoiceInteractionSession voiceSession, IVoiceInteractor voiceInteractor,
|
IVoiceInteractionSession voiceSession, IVoiceInteractor voiceInteractor,
|
||||||
int startFlags, boolean doResume, ActivityOptions options, TaskRecord inTask) {
|
int startFlags, boolean doResume, ActivityOptions options, TaskRecord inTask) {
|
||||||
@@ -1022,7 +1028,7 @@ class ActivityStarter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sendPowerHintForLaunchIfNeeded(false /* forceSend */);
|
sendPowerHintForLaunchStartIfNeeded(false /* forceSend */);
|
||||||
|
|
||||||
mReusedActivity = setTargetStackAndMoveToFrontIfNeeded(mReusedActivity);
|
mReusedActivity = setTargetStackAndMoveToFrontIfNeeded(mReusedActivity);
|
||||||
|
|
||||||
@@ -1147,7 +1153,7 @@ class ActivityStarter {
|
|||||||
EventLogTags.AM_CREATE_ACTIVITY, mStartActivity, mStartActivity.task);
|
EventLogTags.AM_CREATE_ACTIVITY, mStartActivity, mStartActivity.task);
|
||||||
mTargetStack.mLastPausedActivity = null;
|
mTargetStack.mLastPausedActivity = null;
|
||||||
|
|
||||||
sendPowerHintForLaunchIfNeeded(false /* forceSend */);
|
sendPowerHintForLaunchStartIfNeeded(false /* forceSend */);
|
||||||
|
|
||||||
mTargetStack.startActivityLocked(mStartActivity, newTask, mKeepCurTransition, mOptions);
|
mTargetStack.startActivityLocked(mStartActivity, newTask, mKeepCurTransition, mOptions);
|
||||||
if (mDoResume) {
|
if (mDoResume) {
|
||||||
|
|||||||
Reference in New Issue
Block a user