Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed1f1399 authored by John Reck's avatar John Reck Committed by android-build-merger
Browse files

Fix NPE in TextureView

am: 7e237189

Change-Id: I16d37e5c8ab6b81b57f510be5cdea09047cdbd79
parents d4d3503d 7e237189
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -229,7 +229,6 @@ public class TextureView extends View {
    @Override
    protected void destroyHardwareResources() {
        destroyHardwareLayer();
        mUpdateSurface = mSurface != null;
    }

    private void destroyHardwareLayer() {
@@ -376,17 +375,17 @@ public class TextureView extends View {
            }

            mLayer = mAttachInfo.mHardwareRenderer.createTextureLayer();
            if (!mUpdateSurface) {
            boolean createNewSurface = (mSurface == null);
            if (createNewSurface) {
                // Create a new SurfaceTexture for the layer.
                mSurface = new SurfaceTexture(false);
                mLayer.setSurfaceTexture(mSurface);
                nCreateNativeWindow(mSurface);
            }
            mSurface.setDefaultBufferSize(getWidth(), getHeight());

            mSurface.setOnFrameAvailableListener(mUpdateListener, mAttachInfo.mHandler);

            if (mListener != null && !mUpdateSurface) {
            if (mListener != null && createNewSurface) {
                mListener.onSurfaceTextureAvailable(mSurface, getWidth(), getHeight());
            }
            mLayer.setLayerPaint(mLayerPaint);
@@ -745,9 +744,11 @@ public class TextureView extends View {
                    "released SurfaceTexture");
        }
        if (mSurface != null) {
            nDestroyNativeWindow();
            mSurface.release();
        }
        mSurface = surfaceTexture;
        nCreateNativeWindow(mSurface);

        /*
         * If the view is visible and we already made a layer, update the