From f9a1bb1e043070c59842aabb6c550b6bbc68c6af Mon Sep 17 00:00:00 2001 From: Dejvino Date: Tue, 11 Jul 2023 06:22:39 +0200 Subject: [PATCH] Fix #159: Button remains in pressed state if you turn screen lock on/off --- .../flashlight/activities/MainActivity.kt | 1 + .../simplemobiletools/flashlight/helpers/MyCameraImpl.kt | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt index 3894651..1bb84c8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt @@ -194,6 +194,7 @@ class MainActivity : SimpleActivity() { private fun setupCameraImpl() { mCameraImpl = MyCameraImpl.newInstance(this, object : CameraTorchListener { override fun onTorchEnabled(isEnabled: Boolean) { + mCameraImpl!!.onTorchEnabled(isEnabled) if (mCameraImpl!!.supportsBrightnessControl()) { brightness_bar.beVisibleIf(isEnabled) } diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/MyCameraImpl.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/MyCameraImpl.kt index f544cdb..e0c96a3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/MyCameraImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/MyCameraImpl.kt @@ -182,6 +182,15 @@ class MyCameraImpl private constructor(val context: Context, private var cameraT stateChanged(false) } + fun onTorchEnabled(isEnabled: Boolean) { + if (isStroboscopeRunning || isSOSRunning) { + return + } + if (isFlashlightOn != isEnabled) { + stateChanged(isEnabled) + } + } + private fun stateChanged(isEnabled: Boolean) { isFlashlightOn = isEnabled EventBus.getDefault().post(Events.StateChanged(isEnabled))