Merge "Fix ColorFade would be cut when turn off screen in landscape" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c19e092bc5
@@ -93,6 +93,7 @@ final class ColorFade {
|
|||||||
private int mDisplayHeight; // real height, not rotated
|
private int mDisplayHeight; // real height, not rotated
|
||||||
private SurfaceControl mSurfaceControl;
|
private SurfaceControl mSurfaceControl;
|
||||||
private Surface mSurface;
|
private Surface mSurface;
|
||||||
|
private SurfaceControl mBLASTSurfaceControl;
|
||||||
private BLASTBufferQueue mBLASTBufferQueue;
|
private BLASTBufferQueue mBLASTBufferQueue;
|
||||||
private NaturalSurfaceLayout mSurfaceLayout;
|
private NaturalSurfaceLayout mSurfaceLayout;
|
||||||
private EGLDisplay mEglDisplay;
|
private EGLDisplay mEglDisplay;
|
||||||
@@ -576,7 +577,7 @@ final class ColorFade {
|
|||||||
if (mMode == MODE_FADE) {
|
if (mMode == MODE_FADE) {
|
||||||
builder.setColorLayer();
|
builder.setColorLayer();
|
||||||
} else {
|
} else {
|
||||||
builder.setBLASTLayer();
|
builder.setContainerLayer();
|
||||||
}
|
}
|
||||||
mSurfaceControl = builder.build();
|
mSurfaceControl = builder.build();
|
||||||
} catch (OutOfResourcesException ex) {
|
} catch (OutOfResourcesException ex) {
|
||||||
@@ -592,7 +593,14 @@ final class ColorFade {
|
|||||||
mTransaction.apply();
|
mTransaction.apply();
|
||||||
|
|
||||||
if (mMode != MODE_FADE) {
|
if (mMode != MODE_FADE) {
|
||||||
mBLASTBufferQueue = new BLASTBufferQueue("ColorFade", mSurfaceControl,
|
final SurfaceControl.Builder b = new SurfaceControl.Builder()
|
||||||
|
.setName("ColorFade BLAST")
|
||||||
|
.setParent(mSurfaceControl)
|
||||||
|
.setHidden(false)
|
||||||
|
.setSecure(isSecure)
|
||||||
|
.setBLASTLayer();
|
||||||
|
mBLASTSurfaceControl = b.build();
|
||||||
|
mBLASTBufferQueue = new BLASTBufferQueue("ColorFade", mBLASTSurfaceControl,
|
||||||
mDisplayWidth, mDisplayHeight, PixelFormat.TRANSLUCENT);
|
mDisplayWidth, mDisplayHeight, PixelFormat.TRANSLUCENT);
|
||||||
mSurface = mBLASTBufferQueue.createSurface();
|
mSurface = mBLASTBufferQueue.createSurface();
|
||||||
}
|
}
|
||||||
@@ -723,10 +731,16 @@ final class ColorFade {
|
|||||||
mTransaction.remove(mSurfaceControl).apply();
|
mTransaction.remove(mSurfaceControl).apply();
|
||||||
if (mSurface != null) {
|
if (mSurface != null) {
|
||||||
mSurface.release();
|
mSurface.release();
|
||||||
mBLASTBufferQueue.destroy();
|
|
||||||
mSurface = null;
|
mSurface = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mBLASTSurfaceControl != null) {
|
||||||
|
mBLASTSurfaceControl.release();
|
||||||
|
mBLASTSurfaceControl = null;
|
||||||
|
mBLASTBufferQueue.destroy();
|
||||||
mBLASTBufferQueue = null;
|
mBLASTBufferQueue = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
mSurfaceControl = null;
|
mSurfaceControl = null;
|
||||||
mSurfaceVisible = false;
|
mSurfaceVisible = false;
|
||||||
mSurfaceAlpha = 0f;
|
mSurfaceAlpha = 0f;
|
||||||
|
|||||||
Reference in New Issue
Block a user