Loading services/core/java/com/android/server/wm/WindowManagerService.java +12 −18 Original line number Diff line number Diff line Loading @@ -2672,7 +2672,8 @@ public class WindowManagerService extends IWindowManager.Stub } void removeWindowLocked(WindowState win) { if (win.mAttrs.type == TYPE_APPLICATION_STARTING) { final boolean startingWindow = win.mAttrs.type == TYPE_APPLICATION_STARTING; if (startingWindow) { if (DEBUG_STARTING_WINDOW) Slog.d(TAG, "Starting window removed " + win); } Loading Loading @@ -2721,7 +2722,13 @@ public class WindowManagerService extends IWindowManager.Stub mAccessibilityController.onWindowTransitionLocked(win, transit); } } if (win.mExiting || win.mWinAnimator.isAnimating()) { final AppWindowToken appToken = win.mAppToken; // The starting window is the last window in this app token and it isn't animating. // Allow it to be removed now as there is no additional window or animation that will // trigger its removal. final boolean lastWinStartingNotAnimating = startingWindow && appToken!= null && appToken.allAppWindows.size() == 1 && !win.mWinAnimator.isWindowAnimating(); if (!lastWinStartingNotAnimating && (win.mExiting || win.mWinAnimator.isAnimating())) { // The exit animation is running... wait for it! //Slog.i(TAG, "*** Running exit animation..."); win.mExiting = true; Loading @@ -2733,8 +2740,8 @@ public class WindowManagerService extends IWindowManager.Stub final boolean focusChanged = updateFocusedWindowLocked( UPDATE_FOCUS_WILL_PLACE_SURFACES, false /*updateInputWindows*/); performLayoutAndPlaceSurfacesLocked(); if (win.mAppToken != null) { win.mAppToken.updateReportedVisibilityLocked(); if (appToken != null) { appToken.updateReportedVisibilityLocked(); } if (focusChanged) { mInputMonitor.updateInputWindowsLw(false /*force*/); Loading Loading @@ -4648,12 +4655,7 @@ public class WindowManagerService extends IWindowManager.Stub mOpeningApps.remove(wtoken); mClosingApps.remove(wtoken); wtoken.waitingToShow = wtoken.waitingToHide = false; wtoken.hiddenRequested = !visible; mOpeningApps.remove(wtoken); mClosingApps.remove(wtoken); wtoken.waitingToShow = wtoken.waitingToHide = false; wtoken.waitingToShow = false; wtoken.hiddenRequested = !visible; // If we are preparing an app transition, then delay changing Loading Loading @@ -4692,12 +4694,6 @@ public class WindowManagerService extends IWindowManager.Stub } else { mClosingApps.add(wtoken); wtoken.mEnteringAnimation = false; // If the token is currently visible (should be the // common case), then set up to wait for it to be hidden. if (!wtoken.hidden) { wtoken.waitingToHide = true; } } if (mAppTransition.getAppTransition() == AppTransition.TRANSIT_TASK_OPEN_BEHIND) { // We're launchingBehind, add the launching activity to mOpeningApps. Loading Loading @@ -4867,7 +4863,6 @@ public class WindowManagerService extends IWindowManager.Stub delayed = true; } else if (mAppTransition.isTransitionSet()) { mClosingApps.add(wtoken); wtoken.waitingToHide = true; delayed = true; } if (DEBUG_APP_TRANSITIONS) Slog.v( Loading Loading @@ -9416,7 +9411,6 @@ public class WindowManagerService extends IWindowManager.Stub wtoken.inPendingTransaction = false; setTokenVisibilityLocked(wtoken, animLp, false, transit, false, voiceInteraction); wtoken.updateReportedVisibilityLocked(); wtoken.waitingToHide = false; // Force the allDrawn flag, because we want to start // this guy's animations regardless of whether it's // gotten drawn. Loading services/core/java/com/android/server/wm/WindowToken.java +1 −6 Original line number Diff line number Diff line Loading @@ -63,10 +63,6 @@ class WindowToken { // will be shown. boolean waitingToShow; // Set to true when this token is in a pending transaction where it // will be hidden. boolean waitingToHide; // Set to true when this token is in a pending transaction where its // windows will be put to the bottom of the list. boolean sendingToBottom; Loading @@ -93,9 +89,8 @@ class WindowToken { pw.print(prefix); pw.print("windowType="); pw.print(windowType); pw.print(" hidden="); pw.print(hidden); pw.print(" hasVisible="); pw.println(hasVisible); if (waitingToShow || waitingToHide || sendingToBottom) { if (waitingToShow || sendingToBottom) { pw.print(prefix); pw.print("waitingToShow="); pw.print(waitingToShow); pw.print(" waitingToHide="); pw.print(waitingToHide); pw.print(" sendingToBottom="); pw.print(sendingToBottom); } } Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +12 −18 Original line number Diff line number Diff line Loading @@ -2672,7 +2672,8 @@ public class WindowManagerService extends IWindowManager.Stub } void removeWindowLocked(WindowState win) { if (win.mAttrs.type == TYPE_APPLICATION_STARTING) { final boolean startingWindow = win.mAttrs.type == TYPE_APPLICATION_STARTING; if (startingWindow) { if (DEBUG_STARTING_WINDOW) Slog.d(TAG, "Starting window removed " + win); } Loading Loading @@ -2721,7 +2722,13 @@ public class WindowManagerService extends IWindowManager.Stub mAccessibilityController.onWindowTransitionLocked(win, transit); } } if (win.mExiting || win.mWinAnimator.isAnimating()) { final AppWindowToken appToken = win.mAppToken; // The starting window is the last window in this app token and it isn't animating. // Allow it to be removed now as there is no additional window or animation that will // trigger its removal. final boolean lastWinStartingNotAnimating = startingWindow && appToken!= null && appToken.allAppWindows.size() == 1 && !win.mWinAnimator.isWindowAnimating(); if (!lastWinStartingNotAnimating && (win.mExiting || win.mWinAnimator.isAnimating())) { // The exit animation is running... wait for it! //Slog.i(TAG, "*** Running exit animation..."); win.mExiting = true; Loading @@ -2733,8 +2740,8 @@ public class WindowManagerService extends IWindowManager.Stub final boolean focusChanged = updateFocusedWindowLocked( UPDATE_FOCUS_WILL_PLACE_SURFACES, false /*updateInputWindows*/); performLayoutAndPlaceSurfacesLocked(); if (win.mAppToken != null) { win.mAppToken.updateReportedVisibilityLocked(); if (appToken != null) { appToken.updateReportedVisibilityLocked(); } if (focusChanged) { mInputMonitor.updateInputWindowsLw(false /*force*/); Loading Loading @@ -4648,12 +4655,7 @@ public class WindowManagerService extends IWindowManager.Stub mOpeningApps.remove(wtoken); mClosingApps.remove(wtoken); wtoken.waitingToShow = wtoken.waitingToHide = false; wtoken.hiddenRequested = !visible; mOpeningApps.remove(wtoken); mClosingApps.remove(wtoken); wtoken.waitingToShow = wtoken.waitingToHide = false; wtoken.waitingToShow = false; wtoken.hiddenRequested = !visible; // If we are preparing an app transition, then delay changing Loading Loading @@ -4692,12 +4694,6 @@ public class WindowManagerService extends IWindowManager.Stub } else { mClosingApps.add(wtoken); wtoken.mEnteringAnimation = false; // If the token is currently visible (should be the // common case), then set up to wait for it to be hidden. if (!wtoken.hidden) { wtoken.waitingToHide = true; } } if (mAppTransition.getAppTransition() == AppTransition.TRANSIT_TASK_OPEN_BEHIND) { // We're launchingBehind, add the launching activity to mOpeningApps. Loading Loading @@ -4867,7 +4863,6 @@ public class WindowManagerService extends IWindowManager.Stub delayed = true; } else if (mAppTransition.isTransitionSet()) { mClosingApps.add(wtoken); wtoken.waitingToHide = true; delayed = true; } if (DEBUG_APP_TRANSITIONS) Slog.v( Loading Loading @@ -9416,7 +9411,6 @@ public class WindowManagerService extends IWindowManager.Stub wtoken.inPendingTransaction = false; setTokenVisibilityLocked(wtoken, animLp, false, transit, false, voiceInteraction); wtoken.updateReportedVisibilityLocked(); wtoken.waitingToHide = false; // Force the allDrawn flag, because we want to start // this guy's animations regardless of whether it's // gotten drawn. Loading
services/core/java/com/android/server/wm/WindowToken.java +1 −6 Original line number Diff line number Diff line Loading @@ -63,10 +63,6 @@ class WindowToken { // will be shown. boolean waitingToShow; // Set to true when this token is in a pending transaction where it // will be hidden. boolean waitingToHide; // Set to true when this token is in a pending transaction where its // windows will be put to the bottom of the list. boolean sendingToBottom; Loading @@ -93,9 +89,8 @@ class WindowToken { pw.print(prefix); pw.print("windowType="); pw.print(windowType); pw.print(" hidden="); pw.print(hidden); pw.print(" hasVisible="); pw.println(hasVisible); if (waitingToShow || waitingToHide || sendingToBottom) { if (waitingToShow || sendingToBottom) { pw.print(prefix); pw.print("waitingToShow="); pw.print(waitingToShow); pw.print(" waitingToHide="); pw.print(waitingToHide); pw.print(" sendingToBottom="); pw.print(sendingToBottom); } } Loading