Skip to content

Commit 2a8d7c2

Browse files
committed
Prevent null cameraId in CameraFlash
1 parent 1ce4c6e commit 2a8d7c2

File tree

1 file changed

+7
-6
lines changed
  • app/src/main/kotlin/com/simplemobiletools/flashlight/helpers

1 file changed

+7
-6
lines changed

app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/CameraFlash.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ internal class CameraFlash(
1515
private var cameraTorchListener: CameraTorchListener? = null,
1616
) {
1717
private val manager = context.getSystemService(Context.CAMERA_SERVICE) as CameraManager
18-
private var cameraId: String? = null
18+
private val cameraId: String
1919

2020
private val torchCallback = object : CameraManager.TorchCallback() {
2121
override fun onTorchModeChanged(cameraId: String, enabled: Boolean) {
@@ -28,10 +28,11 @@ internal class CameraFlash(
2828
}
2929

3030
init {
31-
try {
32-
cameraId = manager.cameraIdList[0] ?: "0"
31+
cameraId = try {
32+
manager.cameraIdList[0] ?: "0"
3333
} catch (e: Exception) {
3434
context.showErrorToast(e)
35+
"0"
3536
}
3637
}
3738

@@ -41,7 +42,7 @@ internal class CameraFlash(
4142
val brightnessLevel = getCurrentBrightnessLevel()
4243
changeTorchBrightness(brightnessLevel)
4344
} else {
44-
manager.setTorchMode(cameraId!!, enable)
45+
manager.setTorchMode(cameraId, enable)
4546
}
4647
} catch (e: Exception) {
4748
context.showErrorToast(e)
@@ -54,13 +55,13 @@ internal class CameraFlash(
5455

5556
fun changeTorchBrightness(level: Int) {
5657
if (isTiramisuPlus()) {
57-
manager.turnOnTorchWithStrengthLevel(cameraId!!, level)
58+
manager.turnOnTorchWithStrengthLevel(cameraId, level)
5859
}
5960
}
6061

6162
fun getMaximumBrightnessLevel(): Int {
6263
return if (isTiramisuPlus()) {
63-
val characteristics = manager.getCameraCharacteristics(cameraId!!)
64+
val characteristics = manager.getCameraCharacteristics(cameraId)
6465
characteristics.get(CameraCharacteristics.FLASH_INFO_STRENGTH_MAXIMUM_LEVEL) ?: MIN_BRIGHTNESS_LEVEL
6566
} else {
6667
MIN_BRIGHTNESS_LEVEL

0 commit comments

Comments
 (0)