- Don't set a dim layer in the docked controller if we are not dimming.
- Check to make sure the docked divider window isn't null before trying
to use its layer for dimming.
Bug:
28339915
Change-Id: I33d49d26ffcaec63d135f82a6208e127ba0f0570
}
public boolean animate(long now) {
+ if (mWindow == null) {
+ return false;
+ }
if (mAnimatingForMinimizedDockedStack) {
return animateForMinimizedDockedStack(now);
} else if (mAnimatingForIme) {
return animateForIme(now);
} else {
- if (mDimLayer != null) {
+ if (mDimLayer != null && mDimLayer.isDimming()) {
mDimLayer.setLayer(mService.mLayersController.getResizeDimLayer());
}
return false;
import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYERS;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
+import static com.android.server.wm.WindowManagerService.LAYER_OFFSET_DIM;
import static com.android.server.wm.WindowManagerService.WINDOW_LAYER_MULTIPLIER;
/**
* above all application surfaces.
*/
int getResizeDimLayer() {
- return mDockDivider.mLayer - 1;
+ return (mDockDivider != null) ? mDockDivider.mLayer - 1 : LAYER_OFFSET_DIM;
}
private void logDebugLayers(WindowList windows) {