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.BuildConfig
|
||||||
import com.simplemobiletools.camera.R
|
import com.simplemobiletools.camera.R
|
||||||
import com.simplemobiletools.camera.extensions.config
|
import com.simplemobiletools.camera.extensions.config
|
||||||
import com.simplemobiletools.camera.extensions.idToAppFlashMode
|
|
||||||
import com.simplemobiletools.camera.extensions.toFlashModeId
|
import com.simplemobiletools.camera.extensions.toFlashModeId
|
||||||
import com.simplemobiletools.camera.helpers.*
|
import com.simplemobiletools.camera.helpers.*
|
||||||
import com.simplemobiletools.camera.implementations.CameraXInitializer
|
import com.simplemobiletools.camera.implementations.CameraXInitializer
|
||||||
|
@ -41,6 +40,8 @@ import com.simplemobiletools.commons.models.Release
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
import kotlinx.android.synthetic.main.layout_flash.flash_auto
|
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_flash.flash_toggle_group
|
||||||
import kotlinx.android.synthetic.main.layout_media_size.media_size_toggle_group
|
import kotlinx.android.synthetic.main.layout_media_size.media_size_toggle_group
|
||||||
|
|
||||||
|
@ -335,15 +336,15 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
||||||
shutter.setOnClickListener { shutterPressed() }
|
shutter.setOnClickListener { shutterPressed() }
|
||||||
settings.setOnClickListener { launchSettings() }
|
settings.setOnClickListener { launchSettings() }
|
||||||
change_resolution.setOnClickListener { mPreview?.showChangeResolution() }
|
change_resolution.setOnClickListener { mPreview?.showChangeResolution() }
|
||||||
flash_toggle_group.check(config.flashlightState.toFlashModeId())
|
flash_on.setOnClickListener { selectFlashMode(FLASH_ON) }
|
||||||
flash_toggle_group.addOnButtonCheckedListener { _, checkedId, isChecked ->
|
flash_off.setOnClickListener { selectFlashMode(FLASH_OFF) }
|
||||||
if (isChecked) {
|
flash_auto.setOnClickListener { selectFlashMode(FLASH_AUTO) }
|
||||||
val flashMode = checkedId.idToAppFlashMode()
|
}
|
||||||
|
|
||||||
|
private fun selectFlashMode(flashMode: Int) {
|
||||||
closeOptions()
|
closeOptions()
|
||||||
mPreview?.setFlashlightState(flashMode)
|
mPreview?.setFlashlightState(flashMode)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun toggleCamera() {
|
private fun toggleCamera() {
|
||||||
if (checkCameraAvailable()) {
|
if (checkCameraAvailable()) {
|
||||||
|
@ -758,6 +759,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
||||||
flash_auto.beVisibleIf(photoCapture)
|
flash_auto.beVisibleIf(photoCapture)
|
||||||
top_group.beInvisible()
|
top_group.beInvisible()
|
||||||
flash_toggle_group.beVisible()
|
flash_toggle_group.beVisible()
|
||||||
|
flash_toggle_group.check(config.flashlightState.toFlashModeId())
|
||||||
flash_toggle_group.children.map { it as MaterialButton }.forEach(::setButtonColors)
|
flash_toggle_group.children.map { it as MaterialButton }.forEach(::setButtonColors)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ fun Int.toAppFlashMode(): Int {
|
||||||
fun Int.toFlashModeId(): Int {
|
fun Int.toFlashModeId(): Int {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
FLASH_ON -> R.id.flash_on
|
FLASH_ON -> R.id.flash_on
|
||||||
FLASH_OFF -> R.id.flash_on
|
FLASH_OFF -> R.id.flash_off
|
||||||
FLASH_AUTO -> R.id.flash_auto
|
FLASH_AUTO -> R.id.flash_auto
|
||||||
else -> throw IllegalArgumentException("Unknown mode: $this")
|
else -> throw IllegalArgumentException("Unknown mode: $this")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue