Fix NPE in TextureView

Bug: 30651595
Change-Id: Ic6cc2a1598de173aaadb4061562236a563a662b3
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index ce2fa81..a42da85 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -242,21 +242,23 @@
     }
 
     private void releaseSurfaceTexture() {
-        boolean shouldRelease = true;
+        if (mSurface != null) {
+            boolean shouldRelease = true;
 
-        if (mListener != null) {
-            shouldRelease = mListener.onSurfaceTextureDestroyed(mSurface);
-        }
+            if (mListener != null) {
+                shouldRelease = mListener.onSurfaceTextureDestroyed(mSurface);
+            }
 
-        synchronized (mNativeWindowLock) {
-            nDestroyNativeWindow();
-        }
+            synchronized (mNativeWindowLock) {
+                nDestroyNativeWindow();
+            }
 
-        if (shouldRelease) {
-            mSurface.release();
+            if (shouldRelease) {
+                mSurface.release();
+            }
+            mSurface = null;
+            mHadSurface = true;
         }
-        mSurface = null;
-        mHadSurface = true;
     }
 
     /**