diff options
| author | Winson Chung <winsonc@google.com> | 2020-03-25 16:20:58 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-03-25 16:20:58 +0000 |
| commit | 7da77f4141039fcaf989642cf952aeefa8a41fda (patch) | |
| tree | fda255bb32706ccd4c2711afb4ed6770ab474394 /core/java/android | |
| parent | 9747684a07f96b6e801aa17320299923828653a6 (diff) | |
| parent | d4a9abd2def203a1f44127fc9c0bcb011db45978 (diff) | |
Merge "Ensure previous background color is reapplied when showing a SurfaceView" into rvc-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/SurfaceView.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 59fc6e9b5ede..c89e0c9fc60e 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -176,6 +176,7 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall boolean mUseAlpha = false; float mSurfaceAlpha = 1f; boolean mClipSurfaceToBounds; + int mBackgroundColor = Color.BLACK; @UnsupportedAppUsage boolean mHaveFrame = false; @@ -828,6 +829,12 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall } } + private Transaction updateBackgroundColor(Transaction t) { + final float[] colorComponents = new float[] { Color.red(mBackgroundColor) / 255.f, + Color.green(mBackgroundColor) / 255.f, Color.blue(mBackgroundColor) / 255.f }; + t.setColor(mBackgroundControl, colorComponents); + return t; + } private void releaseSurfaces() { mSurfaceAlpha = 1f; @@ -1000,6 +1007,7 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall } updateBackgroundVisibility(mTmpTransaction); + updateBackgroundColor(mTmpTransaction); if (mUseAlpha) { mTmpTransaction.setAlpha(mSurfaceControl, alpha); mSurfaceAlpha = alpha; @@ -1399,10 +1407,8 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall return; } - final float[] colorComponents = new float[] { Color.red(bgColor) / 255.f, - Color.green(bgColor) / 255.f, Color.blue(bgColor) / 255.f }; - - mTmpTransaction.setColor(mBackgroundControl, colorComponents).apply(); + mBackgroundColor = bgColor; + updateBackgroundColor(mTmpTransaction).apply(); } @UnsupportedAppUsage |
