cameraservice: Check for watchdog initialization before timing disconnect.

Bug: 234330877
Bug: 234544015

Test: atest MultiViewTest#testDualCameraPreview passes

Change-Id: I665851f10eb2153844a3dbe248b5b4dae756dc50
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
diff --git a/services/camera/libcameraservice/common/Camera2ClientBase.cpp b/services/camera/libcameraservice/common/Camera2ClientBase.cpp
index 6d40a55..2201776 100644
--- a/services/camera/libcameraservice/common/Camera2ClientBase.cpp
+++ b/services/camera/libcameraservice/common/Camera2ClientBase.cpp
@@ -248,8 +248,12 @@
 
 template <typename TClientBase>
 binder::Status Camera2ClientBase<TClientBase>::disconnect() {
-    return mCameraServiceWatchdog->WATCH_CUSTOM_TIMER(disconnectImpl(),
-            kDisconnectTimeoutMs / kCycleLengthMs, kCycleLengthMs);
+    if (mCameraServiceWatchdog != nullptr) {
+        // Initialization from hal succeeded, time disconnect.
+        return mCameraServiceWatchdog->WATCH_CUSTOM_TIMER(disconnectImpl(),
+                kDisconnectTimeoutMs / kCycleLengthMs, kCycleLengthMs);
+    }
+    return disconnectImpl();
 }
 
 template <typename TClientBase>