mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-02-16 11:20:55 +01:00
fix flash mode selection
This commit is contained in:
parent
5f7b2e0ecb
commit
64ff75511c
@ -26,7 +26,6 @@ import com.google.android.material.tabs.TabLayout
|
||||
import com.simplemobiletools.camera.BuildConfig
|
||||
import com.simplemobiletools.camera.R
|
||||
import com.simplemobiletools.camera.extensions.config
|
||||
import com.simplemobiletools.camera.extensions.idToAppFlashMode
|
||||
import com.simplemobiletools.camera.extensions.toFlashModeId
|
||||
import com.simplemobiletools.camera.helpers.*
|
||||
import com.simplemobiletools.camera.implementations.CameraXInitializer
|
||||
@ -41,6 +40,8 @@ import com.simplemobiletools.commons.models.Release
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import kotlinx.android.synthetic.main.layout_flash.flash_auto
|
||||
import kotlinx.android.synthetic.main.layout_flash.flash_off
|
||||
import kotlinx.android.synthetic.main.layout_flash.flash_on
|
||||
import kotlinx.android.synthetic.main.layout_flash.flash_toggle_group
|
||||
import kotlinx.android.synthetic.main.layout_media_size.media_size_toggle_group
|
||||
|
||||
@ -335,14 +336,14 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
||||
shutter.setOnClickListener { shutterPressed() }
|
||||
settings.setOnClickListener { launchSettings() }
|
||||
change_resolution.setOnClickListener { mPreview?.showChangeResolution() }
|
||||
flash_toggle_group.check(config.flashlightState.toFlashModeId())
|
||||
flash_toggle_group.addOnButtonCheckedListener { _, checkedId, isChecked ->
|
||||
if (isChecked) {
|
||||
val flashMode = checkedId.idToAppFlashMode()
|
||||
closeOptions()
|
||||
mPreview?.setFlashlightState(flashMode)
|
||||
}
|
||||
}
|
||||
flash_on.setOnClickListener { selectFlashMode(FLASH_ON) }
|
||||
flash_off.setOnClickListener { selectFlashMode(FLASH_OFF) }
|
||||
flash_auto.setOnClickListener { selectFlashMode(FLASH_AUTO) }
|
||||
}
|
||||
|
||||
private fun selectFlashMode(flashMode: Int) {
|
||||
closeOptions()
|
||||
mPreview?.setFlashlightState(flashMode)
|
||||
}
|
||||
|
||||
private fun toggleCamera() {
|
||||
@ -758,6 +759,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
||||
flash_auto.beVisibleIf(photoCapture)
|
||||
top_group.beInvisible()
|
||||
flash_toggle_group.beVisible()
|
||||
flash_toggle_group.check(config.flashlightState.toFlashModeId())
|
||||
flash_toggle_group.children.map { it as MaterialButton }.forEach(::setButtonColors)
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@ fun Int.toAppFlashMode(): Int {
|
||||
fun Int.toFlashModeId(): Int {
|
||||
return when (this) {
|
||||
FLASH_ON -> R.id.flash_on
|
||||
FLASH_OFF -> R.id.flash_on
|
||||
FLASH_OFF -> R.id.flash_off
|
||||
FLASH_AUTO -> R.id.flash_auto
|
||||
else -> throw IllegalArgumentException("Unknown mode: $this")
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user