From a83aa1c2e273303d5a1f78cf3c1186f54797a068 Mon Sep 17 00:00:00 2001 From: darthpaul Date: Thu, 6 Oct 2022 23:08:54 +0100 Subject: [PATCH 1/5] disable settings icon when recording - disable settings icon when recording video and enable when recording stopped - create ic_settings vector drawable resource that uses the @color/camera_option_color fillColor for simplicity. --- .../camera/activities/MainActivity.kt | 2 ++ app/src/main/res/drawable/ic_settings.xml | 11 +++++++++++ app/src/main/res/layout/layout_top.xml | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/drawable/ic_settings.xml 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 38e9ccc2..9e3c6ac3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt @@ -687,6 +687,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera shutter.isSelected = true toggle_camera.beInvisible() change_resolution.isEnabled = false + settings.isEnabled = false video_rec_curr_timer.beVisible() } @@ -696,6 +697,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera video_rec_curr_timer.text = 0.getFormattedDuration() video_rec_curr_timer.beGone() change_resolution.isEnabled = true + settings.isEnabled = true toggle_camera.beVisible() } diff --git a/app/src/main/res/drawable/ic_settings.xml b/app/src/main/res/drawable/ic_settings.xml new file mode 100644 index 00000000..7e6bf97f --- /dev/null +++ b/app/src/main/res/drawable/ic_settings.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/app/src/main/res/layout/layout_top.xml b/app/src/main/res/layout/layout_top.xml index 0fa7f66e..7e671fbb 100644 --- a/app/src/main/res/layout/layout_top.xml +++ b/app/src/main/res/layout/layout_top.xml @@ -43,7 +43,7 @@ android:layout_weight="1" android:contentDescription="@string/settings" android:padding="@dimen/normal_margin" - app:icon="@drawable/ic_settings_cog_vector" + app:icon="@drawable/ic_settings" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/change_resolution" app:layout_constraintTop_toTopOf="@id/toggle_flash" /> From 3275cf51799bec5e2bcbdcc584dad522065ce295 Mon Sep 17 00:00:00 2001 From: darthpaul Date: Thu, 6 Oct 2022 23:31:20 +0100 Subject: [PATCH 2/5] sort resolutions by aspect ratio --- .../com/simplemobiletools/camera/helpers/ImageQualityManager.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/helpers/ImageQualityManager.kt b/app/src/main/kotlin/com/simplemobiletools/camera/helpers/ImageQualityManager.kt index 9177c781..3792d261 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/helpers/ImageQualityManager.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/helpers/ImageQualityManager.kt @@ -64,6 +64,7 @@ class ImageQualityManager( .flatMap { it.qualities } .sortedByDescending { it.pixels } .distinctBy { it.getAspectRatio(activity) } + .sortedByDescending { it.getAspectRatio(activity).split(":").firstOrNull()?.toIntOrNull() } .filter { it.isSupported(fullScreenSize.isSixteenToNine()) } } From 33e64f84a2be8785abd12b9a91169eebb99a5786 Mon Sep 17 00:00:00 2001 From: darthpaul Date: Thu, 6 Oct 2022 23:13:05 +0100 Subject: [PATCH 3/5] remove unused drawables --- app/src/main/res/drawable/ic_resolution_vector.xml | 3 --- app/src/main/res/drawable/ic_video_vector.xml | 3 --- 2 files changed, 6 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_resolution_vector.xml delete mode 100644 app/src/main/res/drawable/ic_video_vector.xml diff --git a/app/src/main/res/drawable/ic_resolution_vector.xml b/app/src/main/res/drawable/ic_resolution_vector.xml deleted file mode 100644 index 5aa7aa03..00000000 --- a/app/src/main/res/drawable/ic_resolution_vector.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_video_vector.xml b/app/src/main/res/drawable/ic_video_vector.xml deleted file mode 100644 index 73731d90..00000000 --- a/app/src/main/res/drawable/ic_video_vector.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - From 1afd0f515c4760f78623c9d8f6bb98e02bf26358 Mon Sep 17 00:00:00 2001 From: darthpaul Date: Thu, 6 Oct 2022 23:47:42 +0100 Subject: [PATCH 4/5] restore flash mode in photo mode --- .../camera/activities/MainActivity.kt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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 9e3c6ac3..5aee5caa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt @@ -38,10 +38,16 @@ import com.simplemobiletools.camera.views.FocusCircleView import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.Release -import kotlinx.android.synthetic.main.activity_main.* -import kotlinx.android.synthetic.main.layout_flash.* -import kotlinx.android.synthetic.main.layout_top.* 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_top.change_resolution +import kotlinx.android.synthetic.main.layout_top.default_icons +import kotlinx.android.synthetic.main.layout_top.settings +import kotlinx.android.synthetic.main.layout_top.toggle_flash class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, CameraXPreviewListener { private companion object { @@ -342,7 +348,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera mTimerHandler = Handler(Looper.getMainLooper()) setupPreviewImage(true) - val initialFlashlightState = FLASH_OFF + val initialFlashlightState = if (mIsInPhotoMode) config.flashlightState else FLASH_OFF mPreview!!.setFlashlightState(initialFlashlightState) updateFlashlightState(initialFlashlightState) initFlashModeTransitionNames() @@ -395,7 +401,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera } } - fun updateFlashlightState(state: Int) { + private fun updateFlashlightState(state: Int) { config.flashlightState = state val flashDrawable = when (state) { FLASH_OFF -> R.drawable.ic_flash_off_vector From 6b906d10764b529b8f84655382579046fd79b4f1 Mon Sep 17 00:00:00 2001 From: darthpaul Date: Thu, 6 Oct 2022 23:54:11 +0100 Subject: [PATCH 5/5] move video timer text to top of shutter --- .../camera/activities/MainActivity.kt | 4 +- app/src/main/res/layout/activity_main.xml | 37 +++++++++---------- 2 files changed, 19 insertions(+), 22 deletions(-) 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 5aee5caa..0940abf9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt @@ -14,7 +14,6 @@ import android.provider.MediaStore import android.view.* import android.widget.LinearLayout import androidx.appcompat.content.res.AppCompatResources -import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import androidx.core.view.* import androidx.transition.* @@ -306,9 +305,8 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera } val marginBottom = safeInsetBottom + navigationBarHeight + resources.getDimensionPixelSize(R.dimen.bigger_margin) - (shutter.layoutParams as ConstraintLayout.LayoutParams).goneBottomMargin = marginBottom - video_rec_curr_timer.updateLayoutParams { + shutter.updateLayoutParams { bottomMargin = marginBottom } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d26a0659..50eb37ae 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -75,6 +75,21 @@ + + + + app:layout_constraintVertical_bias="1" /> - -