Fix delayed light status bar animation
am: 72a6f058cf
* commit '72a6f058cfcb72cad4da5ec8c84bc0a2b0d533a0':
Fix delayed light status bar animation
Change-Id: I438a2c78f34676bd1040f3212af55e0141d48c9c
This commit is contained in:
@@ -5004,7 +5004,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
|
||||
// Keep track of the window if it's dimming but not necessarily fullscreen.
|
||||
final boolean reallyVisible = win.isVisibleOrBehindKeyguardLw() && !win.isGoneForLayoutLw();
|
||||
if (mTopFullscreenOpaqueOrDimmingWindowState == null && reallyVisible
|
||||
if (mTopFullscreenOpaqueOrDimmingWindowState == null && reallyVisible
|
||||
&& win.isDimming() && StackId.normallyFullscreenWindows(stackId)) {
|
||||
mTopFullscreenOpaqueOrDimmingWindowState = win;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.android.server.wm;
|
||||
|
||||
import static android.view.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_DIM_LAYER;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
|
||||
@@ -250,6 +251,13 @@ class DimLayerController {
|
||||
duration = getDimLayerFadeDuration(duration);
|
||||
}
|
||||
state.dimLayer.show(dimLayer, dimAmount, duration);
|
||||
|
||||
// If we showed a dim layer, make sure to redo the layout because some things depend
|
||||
// on whether a dim layer is showing or not.
|
||||
if (targetAlpha == 0) {
|
||||
mDisplayContent.pendingLayoutChanges |= FINISH_LAYOUT_REDO_LAYOUT;
|
||||
mDisplayContent.layoutNeeded = true;
|
||||
}
|
||||
}
|
||||
} else if (state.dimLayer.getLayer() != dimLayer) {
|
||||
state.dimLayer.setLayer(dimLayer);
|
||||
|
||||
Reference in New Issue
Block a user