Loading services/java/com/android/server/wm/DisplayContent.java +11 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.graphics.Rect; import android.view.Display; import android.view.DisplayInfo; import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID; import java.io.PrintWriter; import java.util.ArrayList; Loading Loading @@ -193,6 +195,15 @@ class DisplayContent { return false; } void removeStackBox(StackBox box) { final TaskStack stack = box.mStack; if (stack != null && stack.mStackId == HOME_STACK_ID) { // Never delete the home stack, even if it is empty. return; } mStackBoxes.remove(box); } /** * Reorder a StackBox within mStackBox. The StackBox to reorder is the one containing the * specified TaskStack. Loading services/java/com/android/server/wm/StackBox.java +8 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.server.wm; import android.graphics.Rect; import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID; import java.io.PrintWriter; import java.util.ArrayList; Loading Loading @@ -200,6 +202,10 @@ public class StackBox { /** Remove this box and propagate its sibling's content up to their parent. * @return The first stackId of the resulting StackBox. */ int removeStack() { if (mParent == null) { mDisplayContent.removeStackBox(this); return HOME_STACK_ID; } if (mParent.mFirst == this) { mParent.absorb(mParent.mSecond); } else { Loading services/java/com/android/server/wm/WindowManagerService.java +6 −26 Original line number Diff line number Diff line Loading @@ -16,29 +16,9 @@ package com.android.server.wm; import static android.view.WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW; import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW; import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; import static android.view.WindowManager.LayoutParams.FLAG_COMPATIBLE_WINDOW; import static android.view.WindowManager.LayoutParams.FLAG_DIM_BEHIND; import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER; import static android.view.WindowManager.LayoutParams.LAST_APPLICATION_WINDOW; import static android.view.WindowManager.LayoutParams.LAST_SUB_WINDOW; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING; import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_BOOT_PROGRESS; import static android.view.WindowManager.LayoutParams.TYPE_DREAM; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD; import static android.view.WindowManager.LayoutParams.TYPE_RECENTS_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ERROR; import static android.view.WindowManager.LayoutParams.TYPE_UNIVERSE_BACKGROUND; import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER; import static android.view.WindowManager.LayoutParams.*; import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID; import static android.view.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; Loading Loading @@ -4711,7 +4691,7 @@ public class WindowManagerService extends IWindowManager.Stub mStackIdToStack.delete(stackId); return stack.remove(); } return -1; return HOME_STACK_ID; } public void moveTaskToStack(int taskId, int stackId, boolean toTop) { Loading Loading @@ -7708,8 +7688,8 @@ public class WindowManagerService extends IWindowManager.Stub i -= lastBelow; if (i != numRemoved) { Slog.w(TAG, "Rebuild removed " + numRemoved + " windows but added " + i); Slog.w(TAG, "Rebuild removed " + numRemoved + " windows but added " + i, new RuntimeException("here").fillInStackTrace()); for (i=0; i<numRemoved; i++) { WindowState ws = mRebuildTmp[i]; if (ws.mRebuilding) { Loading Loading
services/java/com/android/server/wm/DisplayContent.java +11 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.graphics.Rect; import android.view.Display; import android.view.DisplayInfo; import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID; import java.io.PrintWriter; import java.util.ArrayList; Loading Loading @@ -193,6 +195,15 @@ class DisplayContent { return false; } void removeStackBox(StackBox box) { final TaskStack stack = box.mStack; if (stack != null && stack.mStackId == HOME_STACK_ID) { // Never delete the home stack, even if it is empty. return; } mStackBoxes.remove(box); } /** * Reorder a StackBox within mStackBox. The StackBox to reorder is the one containing the * specified TaskStack. Loading
services/java/com/android/server/wm/StackBox.java +8 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.server.wm; import android.graphics.Rect; import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID; import java.io.PrintWriter; import java.util.ArrayList; Loading Loading @@ -200,6 +202,10 @@ public class StackBox { /** Remove this box and propagate its sibling's content up to their parent. * @return The first stackId of the resulting StackBox. */ int removeStack() { if (mParent == null) { mDisplayContent.removeStackBox(this); return HOME_STACK_ID; } if (mParent.mFirst == this) { mParent.absorb(mParent.mSecond); } else { Loading
services/java/com/android/server/wm/WindowManagerService.java +6 −26 Original line number Diff line number Diff line Loading @@ -16,29 +16,9 @@ package com.android.server.wm; import static android.view.WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW; import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW; import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; import static android.view.WindowManager.LayoutParams.FLAG_COMPATIBLE_WINDOW; import static android.view.WindowManager.LayoutParams.FLAG_DIM_BEHIND; import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER; import static android.view.WindowManager.LayoutParams.LAST_APPLICATION_WINDOW; import static android.view.WindowManager.LayoutParams.LAST_SUB_WINDOW; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING; import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_BOOT_PROGRESS; import static android.view.WindowManager.LayoutParams.TYPE_DREAM; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD; import static android.view.WindowManager.LayoutParams.TYPE_RECENTS_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ERROR; import static android.view.WindowManager.LayoutParams.TYPE_UNIVERSE_BACKGROUND; import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER; import static android.view.WindowManager.LayoutParams.*; import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID; import static android.view.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; Loading Loading @@ -4711,7 +4691,7 @@ public class WindowManagerService extends IWindowManager.Stub mStackIdToStack.delete(stackId); return stack.remove(); } return -1; return HOME_STACK_ID; } public void moveTaskToStack(int taskId, int stackId, boolean toTop) { Loading Loading @@ -7708,8 +7688,8 @@ public class WindowManagerService extends IWindowManager.Stub i -= lastBelow; if (i != numRemoved) { Slog.w(TAG, "Rebuild removed " + numRemoved + " windows but added " + i); Slog.w(TAG, "Rebuild removed " + numRemoved + " windows but added " + i, new RuntimeException("here").fillInStackTrace()); for (i=0; i<numRemoved; i++) { WindowState ws = mRebuildTmp[i]; if (ws.mRebuilding) { Loading