* @param rootWindow The {@link WindowAndroid} this render view should be linked to.
*/
public void onNativeLibraryLoaded(WindowAndroid rootWindow) {
- assert !mSurfaceView.getHolder().getSurface().isValid() :
- "Surface created before native library loaded.";
assert rootWindow != null;
mNativeContentViewRenderView = nativeInit(rootWindow.getNativePointer());
assert mNativeContentViewRenderView != 0;
+
+ mContentReadbackHandler = new ContentReadbackHandler() {
+ @Override
+ protected boolean readyForReadback() {
+ return mNativeContentViewRenderView != 0 && mContentViewCore != null;
+ }
+ };
+ mContentReadbackHandler.initNativeContentReadbackHandler();
+
+ if (mCompositingSurfaceType == CompositingSurfaceType.TEXTURE_VIEW)
+ return;
+
+ assert !mSurfaceView.getHolder().getSurface().isValid() :
+ "Surface created before native library loaded.";
mSurfaceCallback = new SurfaceHolder.Callback() {
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
nativeSurfaceDestroyed(mNativeContentViewRenderView);
}
};
-
- if (mCompositingSurfaceType == CompositingSurfaceType.SURFACE_VIEW) {
- mSurfaceView.getHolder().addCallback(mSurfaceCallback);
- mSurfaceView.setVisibility(VISIBLE);
- }
-
- mContentReadbackHandler = new ContentReadbackHandler() {
- @Override
- protected boolean readyForReadback() {
- return mNativeContentViewRenderView != 0 && mContentViewCore != null;
- }
- };
- mContentReadbackHandler.initNativeContentReadbackHandler();
+ mSurfaceView.getHolder().addCallback(mSurfaceCallback);
+ mSurfaceView.setVisibility(VISIBLE);
}
/**
} else {
mSurfaceView.getHolder().removeCallback(mSurfaceCallback);
}
-
nativeDestroy(mNativeContentViewRenderView);
mNativeContentViewRenderView = 0;
}
nativeSetOverlayVideoMode(mNativeContentViewRenderView, enabled);
return;
}
-
int format = enabled ? PixelFormat.TRANSLUCENT : PixelFormat.OPAQUE;
mSurfaceView.getHolder().setFormat(format);
nativeSetOverlayVideoMode(mNativeContentViewRenderView, enabled);