Fixed NPE during boot animation on fugu.

- 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
This commit is contained in:
Wale Ogunwale
2016-04-22 12:11:51 -07:00
parent 6e685dc3c5
commit 20ec11b4e6
2 changed files with 6 additions and 2 deletions

View File

@@ -538,12 +538,15 @@ public class DockedStackDividerController implements DimLayerUser {
}
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;

View File

@@ -27,6 +27,7 @@ import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
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;
/**
@@ -150,7 +151,7 @@ public class WindowLayersController {
* above all application surfaces.
*/
int getResizeDimLayer() {
return mDockDivider.mLayer - 1;
return (mDockDivider != null) ? mDockDivider.mLayer - 1 : LAYER_OFFSET_DIM;
}
private void logDebugLayers(WindowList windows) {