Loading core/java/com/android/internal/policy/DecorView.java +19 −0 Original line number Diff line number Diff line Loading @@ -262,8 +262,10 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind private final int mResizeShadowSize; private final Paint mVerticalResizeShadowPaint = new Paint(); private final Paint mHorizontalResizeShadowPaint = new Paint(); private final Paint mLegacyNavigationBarBackgroundPaint = new Paint(); private Insets mBackgroundInsets = Insets.NONE; private Insets mLastBackgroundInsets = Insets.NONE; private boolean mDrawLegacyNavigationBarBackground; DecorView(Context context, int featureId, PhoneWindow window, WindowManager.LayoutParams params) { Loading Loading @@ -292,6 +294,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind mResizeShadowSize = context.getResources().getDimensionPixelSize( R.dimen.resize_shadow_size); initResizingPaints(); mLegacyNavigationBarBackgroundPaint.setColor(Color.BLACK); } void setBackgroundFallback(@Nullable Drawable fallbackDrawable) { Loading Loading @@ -1143,6 +1147,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind navBarToRightEdge || navBarToLeftEdge, navBarToLeftEdge, 0 /* sideInset */, animate && !disallowAnimate, mForceWindowDrawsBarBackgrounds); mDrawLegacyNavigationBarBackground = mNavigationColorViewState.visible && (mWindow.getAttributes().flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) == 0; boolean statusBarNeedsRightInset = navBarToRightEdge && mNavigationColorViewState.present; Loading Loading @@ -2310,6 +2316,7 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind @Override public void onPostDraw(RecordingCanvas canvas) { drawResizingShadowIfNeeded(canvas); drawLegacyNavigationBarBackground(canvas); } private void initResizingPaints() { Loading Loading @@ -2342,6 +2349,18 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind canvas.restore(); } private void drawLegacyNavigationBarBackground(RecordingCanvas canvas) { if (!mDrawLegacyNavigationBarBackground) { return; } View v = mNavigationColorViewState.view; if (v == null) { return; } canvas.drawRect(v.getLeft(), v.getTop(), v.getRight(), v.getBottom(), mLegacyNavigationBarBackgroundPaint); } /** Release the renderer thread which is usually done when the user stops resizing. */ private void releaseThreadedRenderer() { if (mResizingBackgroundDrawable != null && mLastBackgroundDrawableCb != null) { Loading Loading
core/java/com/android/internal/policy/DecorView.java +19 −0 Original line number Diff line number Diff line Loading @@ -262,8 +262,10 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind private final int mResizeShadowSize; private final Paint mVerticalResizeShadowPaint = new Paint(); private final Paint mHorizontalResizeShadowPaint = new Paint(); private final Paint mLegacyNavigationBarBackgroundPaint = new Paint(); private Insets mBackgroundInsets = Insets.NONE; private Insets mLastBackgroundInsets = Insets.NONE; private boolean mDrawLegacyNavigationBarBackground; DecorView(Context context, int featureId, PhoneWindow window, WindowManager.LayoutParams params) { Loading Loading @@ -292,6 +294,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind mResizeShadowSize = context.getResources().getDimensionPixelSize( R.dimen.resize_shadow_size); initResizingPaints(); mLegacyNavigationBarBackgroundPaint.setColor(Color.BLACK); } void setBackgroundFallback(@Nullable Drawable fallbackDrawable) { Loading Loading @@ -1143,6 +1147,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind navBarToRightEdge || navBarToLeftEdge, navBarToLeftEdge, 0 /* sideInset */, animate && !disallowAnimate, mForceWindowDrawsBarBackgrounds); mDrawLegacyNavigationBarBackground = mNavigationColorViewState.visible && (mWindow.getAttributes().flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) == 0; boolean statusBarNeedsRightInset = navBarToRightEdge && mNavigationColorViewState.present; Loading Loading @@ -2310,6 +2316,7 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind @Override public void onPostDraw(RecordingCanvas canvas) { drawResizingShadowIfNeeded(canvas); drawLegacyNavigationBarBackground(canvas); } private void initResizingPaints() { Loading Loading @@ -2342,6 +2349,18 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind canvas.restore(); } private void drawLegacyNavigationBarBackground(RecordingCanvas canvas) { if (!mDrawLegacyNavigationBarBackground) { return; } View v = mNavigationColorViewState.view; if (v == null) { return; } canvas.drawRect(v.getLeft(), v.getTop(), v.getRight(), v.getBottom(), mLegacyNavigationBarBackgroundPaint); } /** Release the renderer thread which is usually done when the user stops resizing. */ private void releaseThreadedRenderer() { if (mResizingBackgroundDrawable != null && mLastBackgroundDrawableCb != null) { Loading