diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt
index a7282c26..af8098fb 100644
--- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt
@@ -261,7 +261,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
}
private fun checkVideoCaptureIntent() {
- if (intent?.action == MediaStore.ACTION_VIDEO_CAPTURE) {
+ if (isVideoCaptureIntent()) {
mIsInPhotoMode = false
hideIntentButtons()
shutter.setImageResource(R.drawable.ic_video_rec)
@@ -386,6 +386,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
private fun handleShutter() {
if (mIsInPhotoMode) {
toggleBottomButtons(true)
+ change_resolution.isEnabled = true
mPreview?.tryTakePicture()
shutter_animation.alpha = 1.0f
shutter_animation.animate().alpha(0f).setDuration(CAPTURE_ANIMATION_DURATION).start()
@@ -607,6 +608,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
}
override fun onMediaSaved(uri: Uri) {
+ change_resolution.isEnabled = true
loadLastTakenMedia(uri)
if (isImageCaptureIntent()) {
Intent().apply {
@@ -642,6 +644,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
override fun onVideoRecordingStarted() {
shutter.setImageResource(R.drawable.ic_video_stop)
toggle_camera.beInvisible()
+ change_resolution.isEnabled = false
video_rec_curr_timer.beVisible()
}
@@ -649,6 +652,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
shutter.setImageResource(R.drawable.ic_video_rec)
video_rec_curr_timer.text = 0.getFormattedDuration()
video_rec_curr_timer.beGone()
+ change_resolution.isEnabled = true
toggle_camera.beVisible()
}
@@ -680,13 +684,13 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
private fun closeOptions(): Boolean {
if (media_size_toggle_group.isVisible()) {
media_size_toggle_group.beGone()
- top_group.beVisible()
+ showTopIcons()
return true
}
if (flash_toggle_group.isVisible()) {
flash_toggle_group.beGone()
- top_group.beVisible()
+ showTopIcons()
return true
}
return false
@@ -739,19 +743,28 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
}
private fun showResolutionOptions() {
- top_group.beInvisible()
+ hideTopIcons()
media_size_toggle_group.beVisible()
media_size_toggle_group.children.map { it as MaterialButton }.forEach(::setButtonColors)
}
override fun showFlashOptions(photoCapture: Boolean) {
flash_auto.beVisibleIf(photoCapture)
- top_group.beInvisible()
+ hideTopIcons()
flash_toggle_group.beVisible()
flash_toggle_group.check(config.flashlightState.toFlashModeId())
flash_toggle_group.children.map { it as MaterialButton }.forEach(::setButtonColors)
}
+ private fun showTopIcons() {
+ listOf(toggle_flash, change_resolution).forEach { it.beVisible() }
+ settings.beVisibleIf(!is3rdPartyIntent())
+ }
+
+ private fun hideTopIcons() {
+ listOf(toggle_flash, change_resolution, settings).forEach { it.beInvisible() }
+ }
+
private fun setButtonColors(button: MaterialButton) {
val primaryColor = getProperPrimaryColor()
val states = arrayOf(intArrayOf(-android.R.attr.state_checked), intArrayOf(android.R.attr.state_checked))
diff --git a/app/src/main/res/color/camera_option_color.xml b/app/src/main/res/color/camera_option_color.xml
index d4349ec0..1c13eef5 100644
--- a/app/src/main/res/color/camera_option_color.xml
+++ b/app/src/main/res/color/camera_option_color.xml
@@ -2,5 +2,6 @@
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index f49b5346..5010b38c 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -42,12 +42,6 @@
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
-
-