Skip to content

Commit 41177b6

Browse files
committed
refactor: remove unnecessary min sdk checks in CameraAdapter
1 parent 20cdfd2 commit 41177b6

File tree

1 file changed

+27
-39
lines changed

1 file changed

+27
-39
lines changed

system/src/main/java/io/github/sds100/keymapper/system/camera/AndroidCameraAdapter.kt

Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import android.hardware.camera2.CameraAccessException
55
import android.hardware.camera2.CameraCharacteristics
66
import android.hardware.camera2.CameraManager
77
import android.os.Build
8-
import androidx.annotation.RequiresApi
98
import androidx.core.content.getSystemService
9+
import dagger.hilt.android.qualifiers.ApplicationContext
1010
import io.github.sds100.keymapper.common.utils.KMError
1111
import io.github.sds100.keymapper.common.utils.KMResult
1212
import io.github.sds100.keymapper.common.utils.Success
@@ -15,8 +15,6 @@ import kotlinx.coroutines.flow.MutableStateFlow
1515
import kotlinx.coroutines.flow.map
1616
import kotlinx.coroutines.flow.update
1717
import timber.log.Timber
18-
import kotlin.collections.set
19-
import dagger.hilt.android.qualifiers.ApplicationContext
2018
import javax.inject.Inject
2119
import 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

Comments
 (0)