CameraITS: Update writer socket when it's closed

Update writer socket when it's closed so it won't write to the
closed socket and cause socket writer thread to terminate.

Bug: 22762311
Change-Id: Iaa17a77f4581ac292d6ca6ca0e0e014af3832d37
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
index 5b034fe..15e80b7 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
@@ -497,6 +497,7 @@
                         mSocketWriteQueue.clear();
                         mOpenSocket.close();
                         mOpenSocket = null;
+                        mSocketWriteRunnable.setOpenSocket(null);
                         Logt.i(TAG, "Socket disconnected");
                     }
                 } catch (java.io.IOException e) {
@@ -509,9 +510,12 @@
             Logt.i(TAG, "Socket server loop exited");
             mThreadExitFlag = true;
             try {
-                if (mOpenSocket != null) {
-                    mOpenSocket.close();
-                    mOpenSocket = null;
+                synchronized(mSocketWriteDrainLock) {
+                    if (mOpenSocket != null) {
+                        mOpenSocket.close();
+                        mOpenSocket = null;
+                        mSocketWriteRunnable.setOpenSocket(null);
+                    }
                 }
             } catch (java.io.IOException e) {
                 Logt.w(TAG, "Exception closing socket");