Add support for external lazy camera HALs

 The lazy camera provider HAL will be started when
 a device is attached (USB hotplug) or opened and
 then shut down when there are no active clients using it.
 When a USB device is unplugged, the provider removes the camera
 devices associated with it.

Test: atest CtsCameraTestCases
Test: atest cameraservice_test
Test: -Boot device with/without camera attached.
      -(plug-in camera)
      -Open app that uses camera
      -adb shell ps | grep camera
        -> shows "android.hardware.camera.provider@2.7-external-service-lazy"
      - Close app and wait 5-10 seconds
      - adb shell ps | grep camera
       -> does not show "android.hardware.camera.provider@2.7-external-service-lazy"

Bug: 191248460

Change-Id: I5eba8392f17919ed26c1d888cedb4c5428e881c4
diff --git a/camera/aidl/android/hardware/ICameraService.aidl b/camera/aidl/android/hardware/ICameraService.aidl
index 3687b15..1e748c7 100644
--- a/camera/aidl/android/hardware/ICameraService.aidl
+++ b/camera/aidl/android/hardware/ICameraService.aidl
@@ -187,6 +187,8 @@
      */
     const int EVENT_NONE = 0;
     const int EVENT_USER_SWITCHED = 1; // The argument is the set of new foreground user IDs.
+    const int EVENT_USB_DEVICE_ATTACHED = 2; // The argument is the deviceId and vendorId
+    const int EVENT_USB_DEVICE_DETACHED = 3; // The argument is the deviceId and vendorId
     oneway void notifySystemEvent(int eventId, in int[] args);
 
     /**