@@ -13,7 +13,7 @@ import kotlinx.coroutines.flow.asStateFlow
1313
1414@Suppress(" UNUSED" )
1515class DeviceManager (
16- private val context : Context
16+ private val context : Context ,
1717) {
1818 private val cameraManager =
1919 context.getSystemService(Context .CAMERA_SERVICE ) as CameraManager
@@ -29,44 +29,48 @@ class DeviceManager(
2929 }
3030 }
3131
32- private val usbReceiver = UsbCameraReceiver {
33- refresh()
34- }
32+ private val usbReceiver =
33+ UsbCameraReceiver {
34+ refresh()
35+ }
3536
3637 private val _cameraList = MutableStateFlow <List <CameraDevice >>(emptyList())
3738 val cameraList: StateFlow <List <CameraDevice >> = _cameraList .asStateFlow()
3839
3940 init {
40- val filter = IntentFilter ().apply {
41- addAction(UsbManager .ACTION_USB_DEVICE_ATTACHED )
42- addAction(UsbManager .ACTION_USB_DEVICE_DETACHED )
43- }
41+ val filter =
42+ IntentFilter ().apply {
43+ addAction(UsbManager .ACTION_USB_DEVICE_ATTACHED )
44+ addAction(UsbManager .ACTION_USB_DEVICE_DETACHED )
45+ }
4446 context.registerReceiver(usbReceiver, filter)
4547 cameraManager.registerAvailabilityCallback(
4648 availabilityCallback,
47- Handler (Looper .getMainLooper())
49+ Handler (Looper .getMainLooper()),
4850 )
4951 refresh()
5052 }
5153
5254 fun getCameraList (): List <CameraDevice > {
5355 return cameraManager.cameraIdList.map { cameraId ->
5456 val chars = cameraManager.getCameraCharacteristics(cameraId)
55- val position = when (
56- chars.get(CameraCharacteristics .LENS_FACING )
57- ) {
58- CameraCharacteristics .LENS_FACING_FRONT -> CameraDevice .Position .FRONT
59- CameraCharacteristics .LENS_FACING_BACK -> CameraDevice .Position .BACK
60- CameraCharacteristics .LENS_FACING_EXTERNAL -> CameraDevice .Position .EXTERNAL
61- else -> CameraDevice .Position .UNSPECIFIED
62- }
57+ val position =
58+ when (
59+ chars.get(CameraCharacteristics .LENS_FACING )
60+ ) {
61+ CameraCharacteristics .LENS_FACING_FRONT -> CameraDevice .Position .FRONT
62+ CameraCharacteristics .LENS_FACING_BACK -> CameraDevice .Position .BACK
63+ CameraCharacteristics .LENS_FACING_EXTERNAL -> CameraDevice .Position .EXTERNAL
64+ else -> CameraDevice .Position .UNSPECIFIED
65+ }
6366 CameraDevice (
6467 id = cameraId,
65- name = buildString {
66- append(" ${position.name.lowercase().replaceFirstChar { it.uppercase() }} Camera" )
67- append(" ($cameraId )" )
68- },
69- position = position
68+ name =
69+ buildString {
70+ append(" ${position.name.lowercase().replaceFirstChar { it.uppercase() }} Camera" )
71+ append(" ($cameraId )" )
72+ },
73+ position = position,
7074 )
7175 }
7276 }
@@ -79,4 +83,4 @@ class DeviceManager(
7983 private fun refresh () {
8084 _cameraList .value = getCameraList()
8185 }
82- }
86+ }
0 commit comments