fix(#165): fix flashlight status after coming back from camera app

This commit is contained in:
Federico Palmieri 2023-02-14 18:45:15 +01:00
parent 017d9f7557
commit a84c22ebf8
4 changed files with 15 additions and 1 deletions

View File

@ -198,6 +198,10 @@ class MainActivity : SimpleActivity() {
brightness_bar.beVisibleIf(isEnabled) brightness_bar.beVisibleIf(isEnabled)
} }
} }
override fun onTorchUnavailable() {
mCameraImpl!!.onCameraNotAvailable()
}
}) })
if (config.turnFlashlightOn) { if (config.turnFlashlightOn) {
mCameraImpl!!.enableFlashlight() mCameraImpl!!.enableFlashlight()
@ -300,7 +304,7 @@ class MainActivity : SimpleActivity() {
} }
private fun changeIconColor(color: Int, imageView: ImageView?) { private fun changeIconColor(color: Int, imageView: ImageView?) {
imageView!!.background.mutate().applyColorFilter(color) imageView!!.background.applyColorFilter(color)
} }
@SuppressLint("NewApi") @SuppressLint("NewApi")

View File

@ -21,6 +21,10 @@ internal class CameraFlash(
override fun onTorchModeChanged(cameraId: String, enabled: Boolean) { override fun onTorchModeChanged(cameraId: String, enabled: Boolean) {
cameraTorchListener?.onTorchEnabled(enabled) cameraTorchListener?.onTorchEnabled(enabled)
} }
override fun onTorchModeUnavailable(cameraId: String) {
cameraTorchListener?.onTorchUnavailable()
}
} }
init { init {

View File

@ -2,4 +2,6 @@ package com.simplemobiletools.flashlight.helpers
interface CameraTorchListener { interface CameraTorchListener {
fun onTorchEnabled(isEnabled:Boolean) fun onTorchEnabled(isEnabled:Boolean)
fun onTorchUnavailable()
} }

View File

@ -276,4 +276,8 @@ class MyCameraImpl private constructor(val context: Context, private var cameraT
fun updateBrightnessLevel(level: Int) { fun updateBrightnessLevel(level: Int) {
cameraFlash!!.changeTorchBrightness(level) cameraFlash!!.changeTorchBrightness(level)
} }
fun onCameraNotAvailable() {
disableFlashlight()
}
} }