summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2019-06-19 16:07:02 -0700
committer android-build-merger <android-build-merger@google.com> 2019-06-19 16:07:02 -0700
commit25627537838c32a9af3415fd4254b5811d14b9d5 (patch)
tree1258c74e68831bb30cef6639343f40e6c1ab0874
parent81880d5638063397ae3122648455a0f5fd33a530 (diff)
parent2f8cae24b944dce2f7729cea213f07af5fb9ee9b (diff)
Merge "Revert SurfaceView back to Q's version" into qt-r1-dev
am: 2f8cae24b9 Change-Id: Iedb5910e225fd2584b6b4342dc7aed9b93747eb0
-rw-r--r--core/java/android/view/SurfaceView.java42
1 files changed, 0 insertions, 42 deletions
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index add7376b8531..254d04e8715d 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -27,7 +27,6 @@ import android.content.res.Configuration;
import android.graphics.BlendMode;
import android.graphics.Canvas;
import android.graphics.Color;
-import android.graphics.HardwareRenderer;
import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.PorterDuff;
@@ -202,29 +201,6 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb
private SurfaceControl.Transaction mRtTransaction = new SurfaceControl.Transaction();
- /**
- * A callback which reflects an alpha value of this view onto the underlying surfaces.
- *
- * <p class="note"><strong>Note:</strong> This doesn't have to be defined as a member variable,
- * but can be defined as an inline lambda when calling ViewRootImpl#registerRtFrameCallback().
- * However when we do so, the callback is triggered only for a few times and stops working for
- * some reason. It's suspected that there is a problem around garbage collection, and until
- * the cause is fixed, we will keep this callback in a member variable.</p>
- */
- private HardwareRenderer.FrameDrawingCallback mSetSurfaceAlphaCallback = frame -> {
- final ViewRootImpl viewRoot = getViewRootImpl();
- if (viewRoot == null || viewRoot.mSurface == null || !viewRoot.mSurface.isValid()) {
- // In this case, the alpha value is reflected on the screen in #updateSurface() later.
- return;
- }
-
- final SurfaceControl.Transaction t = new SurfaceControl.Transaction();
- t.setAlpha(mSurfaceControl, getAlpha());
- t.deferTransactionUntilSurface(mSurfaceControl, viewRoot.mSurface, frame);
- t.setEarlyWakeup();
- t.apply();
- };
-
public SurfaceView(Context context) {
this(context, null);
}
@@ -312,17 +288,6 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb
updateSurface();
}
- @Override
- public void setAlpha(float alpha) {
- super.setAlpha(alpha);
- final ViewRootImpl viewRoot = getViewRootImpl();
- if (viewRoot == null) {
- return;
- }
- viewRoot.registerRtFrameCallback(mSetSurfaceAlphaCallback);
- invalidate();
- }
-
private void performDrawFinished() {
if (mPendingReportDraws > 0) {
mDrawFinished = true;
@@ -682,13 +647,6 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb
}
updateBackgroundVisibilityInTransaction(viewRoot.getSurfaceControl());
- // Alpha value change is handled in setAlpha() directly using a local
- // transaction. However it can happen that setAlpha() is called while
- // local transactions cannot be applied, so the value is stored in a View
- // but not yet reflected on the Surface.
- mSurfaceControl.setAlpha(getAlpha());
- mBackgroundControl.setAlpha(getAlpha());
-
// While creating the surface, we will set it's initial
// geometry. Outside of that though, we should generally
// leave it to the RenderThread.