@@ -5,8 +5,8 @@ import android.hardware.camera2.CameraAccessException
55import android.hardware.camera2.CameraCharacteristics
66import android.hardware.camera2.CameraManager
77import android.os.Build
8- import androidx.annotation.RequiresApi
98import androidx.core.content.getSystemService
9+ import dagger.hilt.android.qualifiers.ApplicationContext
1010import io.github.sds100.keymapper.common.utils.KMError
1111import io.github.sds100.keymapper.common.utils.KMResult
1212import io.github.sds100.keymapper.common.utils.Success
@@ -15,8 +15,6 @@ import kotlinx.coroutines.flow.MutableStateFlow
1515import kotlinx.coroutines.flow.map
1616import kotlinx.coroutines.flow.update
1717import timber.log.Timber
18- import kotlin.collections.set
19- import dagger.hilt.android.qualifiers.ApplicationContext
2018import javax.inject.Inject
2119import javax.inject.Singleton
2220
@@ -34,36 +32,31 @@ class AndroidCameraAdapter @Inject constructor(
3432 )
3533 private val isFlashEnabledMap = MutableStateFlow (initialMap)
3634
37- private val torchCallback by lazy {
38- @RequiresApi(Build .VERSION_CODES .M )
39- object : CameraManager .TorchCallback () {
40- override fun onTorchModeChanged (cameraId : String , enabled : Boolean ) {
41- super .onTorchModeChanged(cameraId, enabled)
42-
43- cameraManager.apply {
44- try {
45- val camera = getCameraCharacteristics(cameraId)
46- val lensFacing = camera.get(CameraCharacteristics .LENS_FACING )!!
47-
48- when (lensFacing) {
49- CameraCharacteristics .LENS_FACING_FRONT ->
50- updateState(CameraLens .FRONT , enabled)
51-
52- CameraCharacteristics .LENS_FACING_BACK ->
53- updateState(CameraLens .BACK , enabled)
54- }
55- } catch (e: Exception ) {
56- Timber .e(e)
35+ private val torchCallback = object : CameraManager .TorchCallback () {
36+ override fun onTorchModeChanged (cameraId : String , enabled : Boolean ) {
37+ super .onTorchModeChanged(cameraId, enabled)
38+
39+ cameraManager.apply {
40+ try {
41+ val camera = getCameraCharacteristics(cameraId)
42+ val lensFacing = camera.get(CameraCharacteristics .LENS_FACING )!!
43+
44+ when (lensFacing) {
45+ CameraCharacteristics .LENS_FACING_FRONT ->
46+ updateState(CameraLens .FRONT , enabled)
47+
48+ CameraCharacteristics .LENS_FACING_BACK ->
49+ updateState(CameraLens .BACK , enabled)
5750 }
51+ } catch (e: Exception ) {
52+ Timber .e(e)
5853 }
5954 }
6055 }
6156 }
6257
6358 init {
64- if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .M ) {
65- cameraManager.registerTorchCallback(torchCallback, null )
66- }
59+ cameraManager.registerTorchCallback(torchCallback, null )
6760 }
6861
6962 override fun getFlashInfo (lens : CameraLens ): CameraFlashInfo ? {
@@ -138,11 +131,13 @@ class AndroidCameraAdapter @Inject constructor(
138131 return null
139132 }
140133
141- override fun enableFlashlight (lens : CameraLens , strengthPercent : Float? ): KMResult <* > = setFlashlightMode(true , lens, strengthPercent)
134+ override fun enableFlashlight (lens : CameraLens , strengthPercent : Float? ): KMResult <* > =
135+ setFlashlightMode(true , lens, strengthPercent)
142136
143137 override fun disableFlashlight (lens : CameraLens ): KMResult <* > = setFlashlightMode(false , lens)
144138
145- override fun toggleFlashlight (lens : CameraLens , strengthPercent : Float? ): KMResult <* > = setFlashlightMode(! isFlashEnabledMap.value[lens]!! , lens, strengthPercent)
139+ override fun toggleFlashlight (lens : CameraLens , strengthPercent : Float? ): KMResult <* > =
140+ setFlashlightMode(! isFlashEnabledMap.value[lens]!! , lens, strengthPercent)
146141
147142 override fun isFlashlightOn (lens : CameraLens ): Boolean = isFlashEnabledMap.value[lens] ? : false
148143
@@ -172,14 +167,10 @@ class AndroidCameraAdapter @Inject constructor(
172167
173168 val currentStrength = cameraManager.getTorchStrengthLevel(cameraId)
174169
175- val maxStrength = if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .TIRAMISU ) {
176- getCharacteristicForLens(
177- lens,
178- CameraCharacteristics .FLASH_INFO_STRENGTH_MAXIMUM_LEVEL ,
179- )
180- } else {
181- null
182- }
170+ val maxStrength = getCharacteristicForLens(
171+ lens,
172+ CameraCharacteristics .FLASH_INFO_STRENGTH_MAXIMUM_LEVEL ,
173+ )
183174
184175 if (maxStrength != null ) {
185176 val newStrength =
@@ -206,9 +197,6 @@ class AndroidCameraAdapter @Inject constructor(
206197 lens : CameraLens ,
207198 strengthPercent : Float? = null,
208199 ): KMResult <* > {
209- if (Build .VERSION .SDK_INT < Build .VERSION_CODES .M ) {
210- return KMError .SdkVersionTooLow (minSdk = Build .VERSION_CODES .M )
211- }
212200
213201 try {
214202 val cameraId = getFlashlightCameraIdForLens(lens)
0 commit comments