cameraserver: Enforce system camera rules for setTorchMode and torch callbacks.

Bug: 182530469

Test: Make Emulator back camera system camera; FlashTest.java

Merged-In: Ic849aa91e4d953f45ed99efae997e45671d116b3
Change-Id: Ic849aa91e4d953f45ed99efae997e45671d116b3
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
(cherry picked from commit 8c62d8985c8a9f34c65bf0927a41ab1d9543c366)
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
index 685ed5e..5c4c96b 100644
--- a/services/camera/libcameraservice/CameraService.h
+++ b/services/camera/libcameraservice/CameraService.h
@@ -995,7 +995,8 @@
     // handle torch mode status change and invoke callbacks. mTorchStatusMutex
     // should be locked.
     void onTorchStatusChangedLocked(const String8& cameraId,
-            hardware::camera::common::V1_0::TorchModeStatus newStatus);
+            hardware::camera::common::V1_0::TorchModeStatus newStatus,
+            SystemCameraKind systemCameraKind);
 
     // get a camera's torch status. mTorchStatusMutex should be locked.
     status_t getTorchStatusLocked(const String8 &cameraId,
@@ -1084,7 +1085,8 @@
     static void pingCameraServiceProxy();
 
     void broadcastTorchModeStatus(const String8& cameraId,
-            hardware::camera::common::V1_0::TorchModeStatus status);
+            hardware::camera::common::V1_0::TorchModeStatus status,
+            SystemCameraKind systemCameraKind);
 
     void disconnectClient(const String8& id, sp<BasicClient> clientToDisconnect);