Merge pull request #189 from fedestyla/fix/165_flashlight-on-after-camera-usage

fix(#165): fix flashlight status after coming back from camera app
This commit is contained in:
Tibor Kaputa 2023-03-25 10:10:18 +01:00 committed by GitHub
commit dd78bfe8ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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()
}
} }