Camera: Turn off torch at provider startup

Flashlight could be stuck at ON after system_server crashes
(which results in cameraserver to restart).
As a workaround, turn flash off at the provider start.

Alternative considered: restart HAL process when cameraserver
restarts. However, even with that, some device still fails to
turn off flashlight.

Test: Camera CTS, kill system_server with flash on
Bug: 247038031
Change-Id: I8a49ce8a541dc0537348dc16b3b48b96b10c89f6
diff --git a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
index ef68f28..6d35391 100644
--- a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
+++ b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
@@ -550,6 +550,11 @@
                     "ANDROID_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL tags: %s (%d)", __FUNCTION__,
                     strerror(-res), res);
         }
+
+        // b/247038031: In case of system_server crash, camera_server is
+        // restarted as well. If flashlight is turned on before the crash, it
+        // may be stuck to be on. As a workaround, set torch mode to be OFF.
+        interface->setTorchMode(false);
     } else {
         mHasFlashUnit = false;
     }