Moved activity to stopped state if relaunched while device is asleep
am: 3e99736b61
Change-Id: I38552093c320d5c4ff74e615ae8b9959f306cd82
This commit is contained in:
@@ -1309,8 +1309,12 @@ final class ActivityRecord {
|
||||
state == ActivityState.RESUMED;
|
||||
}
|
||||
|
||||
public void setSleeping(boolean _sleeping) {
|
||||
if (sleeping == _sleeping) {
|
||||
void setSleeping(boolean _sleeping) {
|
||||
setSleeping(_sleeping, false);
|
||||
}
|
||||
|
||||
void setSleeping(boolean _sleeping, boolean force) {
|
||||
if (!force && sleeping == _sleeping) {
|
||||
return;
|
||||
}
|
||||
if (app != null && app.thread != null) {
|
||||
|
||||
@@ -4512,15 +4512,6 @@ final class ActivityStack {
|
||||
return true;
|
||||
}
|
||||
|
||||
// TODO: We could probably make the condition below just check that the activity state is
|
||||
// stopped, but also checking the sleep state for now to reduce change impact late in
|
||||
// development cycle.
|
||||
if (mService.isSleepingOrShuttingDownLocked() && r.state == ActivityState.STOPPED) {
|
||||
if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION,
|
||||
"Skipping config check (stopped while sleeping): " + r);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION,
|
||||
"Ensuring correct configuration: " + r);
|
||||
|
||||
|
||||
@@ -3708,6 +3708,12 @@ public final class ActivityStackSupervisor implements DisplayListener {
|
||||
|
||||
void activityRelaunchedLocked(IBinder token) {
|
||||
mWindowManager.notifyAppRelaunchingFinished(token);
|
||||
if (mService.isSleepingOrShuttingDownLocked()) {
|
||||
final ActivityRecord r = ActivityRecord.isInStackLocked(token);
|
||||
if (r != null) {
|
||||
r.setSleeping(true, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void activityRelaunchingLocked(ActivityRecord r) {
|
||||
|
||||
Reference in New Issue
Block a user