Add missing null checks

Bug: 29743482
Change-Id: Ic4bc5b9d5718eabd41e09a108a765b01aef4e3c8
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index ac10927..4818910 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -745,6 +745,12 @@
             Log.d(TAG, String.format("%d windowPositionLostRT RT, frameNr = %d",
                     System.identityHashCode(this), frameNumber));
         }
+        IWindowSession session = mSession;
+        MyWindow window = mWindow;
+        if (session == null || window == null) {
+            // We got detached prior to receiving this, abort
+            return;
+        }
         if (mRtHandlingPositionUpdates) {
             mRtHandlingPositionUpdates = false;
             // This callback will happen while the UI thread is blocked, so we can
@@ -757,7 +763,7 @@
                             "postion = [%d, %d, %d, %d]", System.identityHashCode(this),
                             mWinFrame.left, mWinFrame.top,
                             mWinFrame.right, mWinFrame.bottom));
-                    mSession.repositionChild(mWindow, mWinFrame.left, mWinFrame.top,
+                    session.repositionChild(window, mWinFrame.left, mWinFrame.top,
                             mWinFrame.right, mWinFrame.bottom, frameNumber, mWinFrame);
                 } catch (RemoteException ex) {
                     Log.e(TAG, "Exception from relayout", ex);