From ebd880bf7bd1071fea0e9d55d6750903c3bcd9b9 Mon Sep 17 00:00:00 2001 From: MHShetty Date: Fri, 18 Jul 2025 02:07:49 +0530 Subject: [PATCH 1/2] Update strings for saving image/video as previewed (to fixing inversion for front camera) --- app/src/main/res/layout/more_settings.xml | 18 +++++++++--------- app/src/main/res/values/strings.xml | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/layout/more_settings.xml b/app/src/main/res/layout/more_settings.xml index c3b8117f2..56b28bf83 100644 --- a/app/src/main/res/layout/more_settings.xml +++ b/app/src/main/res/layout/more_settings.xml @@ -65,7 +65,7 @@ android:id="@+id/gyroscope_setting_icon" android:layout_width="48dp" android:layout_height="48dp" - android:contentDescription="@string/save_image_as_previewed" + android:contentDescription="@string/fix_inversion_for_photos" android:paddingStart="4dp" android:paddingEnd="8dp" android:src="@drawable/straighten" /> @@ -257,7 +257,7 @@ android:id="@+id/save_image_as_preview_icon" android:layout_width="48dp" android:layout_height="48dp" - android:contentDescription="@string/save_image_as_previewed" + android:contentDescription="@string/fix_inversion_for_photos" android:paddingStart="4dp" android:paddingEnd="8dp" android:src="@drawable/selfie_preview" /> @@ -275,7 +275,7 @@ android:layout_height="wrap_content" android:layout_marginStart="10dp" android:paddingBottom="2dp" - android:text="@string/save_image_as_previewed" + android:text="@string/fix_inversion_for_photos" android:textColor="?android:textColorPrimary" android:textSize="16sp" /> @@ -284,7 +284,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingStart="10dp" - android:text="@string/save_as_image_preview_desc" + android:text="@string/fix_inversion_for_photos_desc" android:textSize="14sp" tools:ignore="RtlSymmetry" /> @@ -399,7 +399,7 @@ android:id="@+id/remove_exif_icon" android:layout_width="48dp" android:layout_height="48dp" - android:contentDescription="@string/save_image_as_previewed" + android:contentDescription="@string/fix_inversion_for_photos" android:paddingStart="4dp" android:paddingEnd="8dp" android:src="@drawable/info_adaptable" /> @@ -473,7 +473,7 @@ android:id="@+id/save_video_as_preview_icon" android:layout_width="48dp" android:layout_height="48dp" - android:contentDescription="@string/save_video_as_previewed" + android:contentDescription="@string/fix_inversion_for_videos" android:paddingStart="4dp" android:paddingEnd="8dp" android:src="@drawable/selfie_preview" /> @@ -491,7 +491,7 @@ android:layout_height="wrap_content" android:layout_marginStart="10dp" android:paddingBottom="2dp" - android:text="@string/save_video_as_previewed" + android:text="@string/fix_inversion_for_videos" android:textColor="?android:textColorPrimary" android:textSize="16sp" /> @@ -500,7 +500,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingStart="10dp" - android:text="@string/save_as_video_preview_desc" + android:text="@string/fix_inversion_for_videos_desc" android:textSize="14sp" tools:ignore="RtlSymmetry" /> @@ -547,7 +547,7 @@ android:id="@+id/storage_location_icon" android:layout_width="48dp" android:layout_height="48dp" - android:contentDescription="@string/save_image_as_previewed" + android:contentDescription="@string/fix_inversion_for_photos" android:paddingStart="4dp" android:paddingEnd="8dp" android:src="@drawable/storage" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9aa6ae1eb..86bc79d13 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -69,11 +69,11 @@ General - Save image as previewed - Save output image as visible on preview (fixes inversion in front camera) + Fix front camera inversion + Fixes inversion while taking a photo via the front camera - Save video as previewed - Save output video as visible on preview (fixes inversion in front camera) + Fix front camera inversion + Fixes inversion while recording a video via the front camera Gyroscope Suggestions Occasionally get visual suggestions for straight/well-angled images From 10dc72007303759354c62efcfcc719a2dd9339fa Mon Sep 17 00:00:00 2001 From: MHShetty Date: Fri, 18 Jul 2025 02:09:14 +0530 Subject: [PATCH 2/2] Implement support for inverting preview (while corresponding settings are enabled) --- app/src/main/java/app/grapheneos/camera/CamConfig.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/src/main/java/app/grapheneos/camera/CamConfig.kt b/app/src/main/java/app/grapheneos/camera/CamConfig.kt index 128205f54..a8b9933f5 100644 --- a/app/src/main/java/app/grapheneos/camera/CamConfig.kt +++ b/app/src/main/java/app/grapheneos/camera/CamConfig.kt @@ -1215,6 +1215,17 @@ class CamConfig(private val mActivity: MainActivity) { previewBuilder.setPreviewStabilizationEnabled(false) } + // Adapt + if ((lensFacing == CameraSelector.LENS_FACING_FRONT) && (isVideoMode && saveVideoAsPreviewed) || (isInPhotoMode && saveImageAsPreviewed)) { + previewBuilder.setMirrorMode( + MirrorMode.MIRROR_MODE_ON + ) + } else { + previewBuilder.setMirrorMode( + MirrorMode.MIRROR_MODE_OFF + ) + } + preview = previewBuilder.build().also { useCaseGroupBuilder.addUseCase(it) it.setSurfaceProvider(mActivity.previewView.surfaceProvider)