summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2020-03-25 16:20:58 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-03-25 16:20:58 +0000
commit7da77f4141039fcaf989642cf952aeefa8a41fda (patch)
treefda255bb32706ccd4c2711afb4ed6770ab474394 /core/java/android
parent9747684a07f96b6e801aa17320299923828653a6 (diff)
parentd4a9abd2def203a1f44127fc9c0bcb011db45978 (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.java14
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