Loading services/java/com/android/server/am/ActivityStackSupervisor.java +12 −10 Original line number Diff line number Diff line Loading @@ -2170,29 +2170,31 @@ public final class ActivityStackSupervisor { for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) { final ActivityStack stack = mStacks.get(stackNdx); final ActivityRecord r = stack.topRunningActivityLocked(null); final ActivityState state = r == null ? ActivityState.DESTROYED : r.state; if (isFrontStack(stack)) { if (r == null) { Slog.e(TAG, "validateTop...: null top activity, stack=" + stack); } else { if (stack.mPausingActivity != null) { final ActivityRecord pausing = stack.mPausingActivity; if (pausing != null && pausing == r) { Slog.e(TAG, "validateTop...: top stack has pausing activity r=" + r + " state=" + r.state); " state=" + state); } if (r.state != ActivityState.INITIALIZING && r.state != ActivityState.RESUMED) { if (state != ActivityState.INITIALIZING && state != ActivityState.RESUMED) { Slog.e(TAG, "validateTop...: activity in front not resumed r=" + r + " state=" + r.state); " state=" + state); } } } else { if (stack.mResumedActivity != null) { final ActivityRecord resumed = stack.mResumedActivity; if (resumed != null && resumed == r) { Slog.e(TAG, "validateTop...: back stack has resumed activity r=" + r + " state=" + r.state); " state=" + state); } if (r != null && (r.state == ActivityState.INITIALIZING || r.state == ActivityState.RESUMED)) { if (r != null && (state == ActivityState.INITIALIZING || state == ActivityState.RESUMED)) { Slog.e(TAG, "validateTop...: activity in back resumed r=" + r + " state=" + r.state); " state=" + state); } } } Loading services/java/com/android/server/wm/TaskStack.java +10 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,12 @@ package com.android.server.wm; import static com.android.server.wm.WindowManagerService.DEBUG_TASK_MOVEMENT; import static com.android.server.wm.WindowManagerService.TAG; import android.graphics.Rect; import android.os.Debug; import android.util.Slog; import android.util.TypedValue; import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID; Loading Loading @@ -88,6 +93,7 @@ public class TaskStack { * @param toTop Whether to add it to the top or bottom. */ boolean addTask(Task task, boolean toTop) { if (DEBUG_TASK_MOVEMENT) Slog.d(TAG, "addTask: task=" + task + " toTop=" + toTop); mStackBox.makeDirty(); mTasks.add(toTop ? mTasks.size() : 0, task); task.mStack = this; Loading @@ -95,11 +101,14 @@ public class TaskStack { } boolean moveTaskToTop(Task task) { if (DEBUG_TASK_MOVEMENT) Slog.d(TAG, "moveTaskToTop: task=" + task + " Callers=" + Debug.getCallers(6)); mTasks.remove(task); return addTask(task, true); } boolean moveTaskToBottom(Task task) { if (DEBUG_TASK_MOVEMENT) Slog.d(TAG, "moveTaskToBottom: task=" + task); mTasks.remove(task); return addTask(task, false); } Loading @@ -110,6 +119,7 @@ public class TaskStack { * @param task The Task to delete. */ void removeTask(Task task) { if (DEBUG_TASK_MOVEMENT) Slog.d(TAG, "removeTask: task=" + task); mStackBox.makeDirty(); mTasks.remove(task); } Loading services/java/com/android/server/wm/WindowManagerService.java +0 −1 Original line number Diff line number Diff line Loading @@ -3777,7 +3777,6 @@ public class WindowManagerService extends IWindowManager.Stub } changed = mFocusedApp != newFocus; mFocusedApp = newFocus; moveTaskToTop(newFocus.groupId); if (DEBUG_FOCUS) Slog.v(TAG, "Set focused app to: " + mFocusedApp + " moveFocusNow=" + moveFocusNow); if (changed) { Loading Loading
services/java/com/android/server/am/ActivityStackSupervisor.java +12 −10 Original line number Diff line number Diff line Loading @@ -2170,29 +2170,31 @@ public final class ActivityStackSupervisor { for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) { final ActivityStack stack = mStacks.get(stackNdx); final ActivityRecord r = stack.topRunningActivityLocked(null); final ActivityState state = r == null ? ActivityState.DESTROYED : r.state; if (isFrontStack(stack)) { if (r == null) { Slog.e(TAG, "validateTop...: null top activity, stack=" + stack); } else { if (stack.mPausingActivity != null) { final ActivityRecord pausing = stack.mPausingActivity; if (pausing != null && pausing == r) { Slog.e(TAG, "validateTop...: top stack has pausing activity r=" + r + " state=" + r.state); " state=" + state); } if (r.state != ActivityState.INITIALIZING && r.state != ActivityState.RESUMED) { if (state != ActivityState.INITIALIZING && state != ActivityState.RESUMED) { Slog.e(TAG, "validateTop...: activity in front not resumed r=" + r + " state=" + r.state); " state=" + state); } } } else { if (stack.mResumedActivity != null) { final ActivityRecord resumed = stack.mResumedActivity; if (resumed != null && resumed == r) { Slog.e(TAG, "validateTop...: back stack has resumed activity r=" + r + " state=" + r.state); " state=" + state); } if (r != null && (r.state == ActivityState.INITIALIZING || r.state == ActivityState.RESUMED)) { if (r != null && (state == ActivityState.INITIALIZING || state == ActivityState.RESUMED)) { Slog.e(TAG, "validateTop...: activity in back resumed r=" + r + " state=" + r.state); " state=" + state); } } } Loading
services/java/com/android/server/wm/TaskStack.java +10 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,12 @@ package com.android.server.wm; import static com.android.server.wm.WindowManagerService.DEBUG_TASK_MOVEMENT; import static com.android.server.wm.WindowManagerService.TAG; import android.graphics.Rect; import android.os.Debug; import android.util.Slog; import android.util.TypedValue; import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID; Loading Loading @@ -88,6 +93,7 @@ public class TaskStack { * @param toTop Whether to add it to the top or bottom. */ boolean addTask(Task task, boolean toTop) { if (DEBUG_TASK_MOVEMENT) Slog.d(TAG, "addTask: task=" + task + " toTop=" + toTop); mStackBox.makeDirty(); mTasks.add(toTop ? mTasks.size() : 0, task); task.mStack = this; Loading @@ -95,11 +101,14 @@ public class TaskStack { } boolean moveTaskToTop(Task task) { if (DEBUG_TASK_MOVEMENT) Slog.d(TAG, "moveTaskToTop: task=" + task + " Callers=" + Debug.getCallers(6)); mTasks.remove(task); return addTask(task, true); } boolean moveTaskToBottom(Task task) { if (DEBUG_TASK_MOVEMENT) Slog.d(TAG, "moveTaskToBottom: task=" + task); mTasks.remove(task); return addTask(task, false); } Loading @@ -110,6 +119,7 @@ public class TaskStack { * @param task The Task to delete. */ void removeTask(Task task) { if (DEBUG_TASK_MOVEMENT) Slog.d(TAG, "removeTask: task=" + task); mStackBox.makeDirty(); mTasks.remove(task); } Loading
services/java/com/android/server/wm/WindowManagerService.java +0 −1 Original line number Diff line number Diff line Loading @@ -3777,7 +3777,6 @@ public class WindowManagerService extends IWindowManager.Stub } changed = mFocusedApp != newFocus; mFocusedApp = newFocus; moveTaskToTop(newFocus.groupId); if (DEBUG_FOCUS) Slog.v(TAG, "Set focused app to: " + mFocusedApp + " moveFocusNow=" + moveFocusNow); if (changed) { Loading