Merge "Don't include removed window when counting interesting windows" into nyc-dev
This commit is contained in:
@@ -2359,7 +2359,13 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
// immediately after the enter animation is done. If the app is not yet drawn then
|
// immediately after the enter animation is done. If the app is not yet drawn then
|
||||||
// it will show up as a flicker.
|
// it will show up as a flicker.
|
||||||
win.mRemoveOnExit = true;
|
win.mRemoveOnExit = true;
|
||||||
win.mWindowRemovalAllowed = true;
|
// Request a focus update as this window's input channel is already gone. Otherwise
|
||||||
|
// we could have no focused window in input manager.
|
||||||
|
final boolean focusChanged = updateFocusedWindowLocked(
|
||||||
|
UPDATE_FOCUS_WILL_PLACE_SURFACES, false /*updateInputWindows*/);
|
||||||
|
if (focusChanged) {
|
||||||
|
mInputMonitor.updateInputWindowsLw(false /*force*/);
|
||||||
|
}
|
||||||
Binder.restoreCallingIdentity(origId);
|
Binder.restoreCallingIdentity(origId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1265,8 +1265,8 @@ final class WindowState implements WindowManagerPolicy.WindowState {
|
|||||||
* @return true if the window should be considered while evaluating allDrawn flags.
|
* @return true if the window should be considered while evaluating allDrawn flags.
|
||||||
*/
|
*/
|
||||||
boolean mightAffectAllDrawn(boolean visibleOnly) {
|
boolean mightAffectAllDrawn(boolean visibleOnly) {
|
||||||
final boolean isViewVisible = (mViewVisibility == View.VISIBLE)
|
final boolean isViewVisible = (mAppToken == null || !mAppToken.clientHidden)
|
||||||
&& (mAppToken == null || !mAppToken.clientHidden);
|
&& (mViewVisibility == View.VISIBLE) && !mWindowRemovalAllowed;
|
||||||
return (isOnScreenIgnoringKeyguard() && (!visibleOnly || isViewVisible)
|
return (isOnScreenIgnoringKeyguard() && (!visibleOnly || isViewVisible)
|
||||||
|| mWinAnimator.mAttrType == TYPE_BASE_APPLICATION)
|
|| mWinAnimator.mAttrType == TYPE_BASE_APPLICATION)
|
||||||
&& !mAnimatingExit && !mDestroying;
|
&& !mAnimatingExit && !mDestroying;
|
||||||
@@ -1822,7 +1822,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
|
|||||||
/** @return true if this window desires key events. */
|
/** @return true if this window desires key events. */
|
||||||
boolean canReceiveKeys() {
|
boolean canReceiveKeys() {
|
||||||
return isVisibleOrAdding()
|
return isVisibleOrAdding()
|
||||||
&& (mViewVisibility == View.VISIBLE)
|
&& (mViewVisibility == View.VISIBLE) && !mRemoveOnExit
|
||||||
&& ((mAttrs.flags & WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) == 0)
|
&& ((mAttrs.flags & WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) == 0)
|
||||||
&& (mAppToken == null || mAppToken.windowsAreFocusable())
|
&& (mAppToken == null || mAppToken.windowsAreFocusable())
|
||||||
&& !isAdjustedForMinimizedDock();
|
&& !isAdjustedForMinimizedDock();
|
||||||
|
|||||||
Reference in New Issue
Block a user