From 7755aa1c4efb4794ad5c24303bda5f28f0f03136 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Tue, 4 Feb 2025 15:38:49 -0500 Subject: [PATCH] Fix foldable camera issues. --- .../securesms/mediasend/CameraDisplay.kt | 14 ++++++++++++++ .../securesms/mediasend/CameraXFragment.java | 2 ++ 2 files changed, 16 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraDisplay.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraDisplay.kt index 960ff6908c..fa7dc5eb27 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraDisplay.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraDisplay.kt @@ -72,6 +72,19 @@ enum class CameraDisplay( cameraViewportGravity = CameraViewportGravity.BOTTOM ), toggleBottomMargin = 54 + ), + DISPLAY_6_5( + aspectRatio = 5f / 6f, + roundViewFinderCorners = false, + withTogglePositionInfo = PositionInfo( + cameraCaptureMarginBottomDp = 120, + cameraViewportGravity = CameraViewportGravity.CENTER + ), + withoutTogglePositionInfo = PositionInfo( + cameraCaptureMarginBottomDp = 84, + cameraViewportGravity = CameraViewportGravity.CENTER + ), + toggleBottomMargin = 54 ); @Px @@ -127,6 +140,7 @@ enum class CameraDisplay( aspectRatio <= DISPLAY_20_9.aspectRatio -> DISPLAY_20_9 aspectRatio <= DISPLAY_19_9.aspectRatio -> DISPLAY_19_9 aspectRatio <= DISPLAY_18_9.aspectRatio -> DISPLAY_18_9 + aspectRatio >= DISPLAY_6_5.aspectRatio -> DISPLAY_6_5 else -> DISPLAY_16_9 } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java index 4ebd58372c..4096ee0386 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java @@ -376,6 +376,8 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment { constraintSet.clone((ConstraintLayout) requireView()); constraintSet.connect(R.id.camerax_camera_parent, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP); constraintSet.applyTo((ConstraintLayout) requireView()); + ViewUtil.setTopMargin(cameraCard, ViewUtil.getStatusBarHeight(requireView())); + ViewUtil.setBottomMargin(cameraCard, ViewUtil.getNavigationBarHeight(requireView())); } else { ViewUtil.setBottomMargin(cameraCard, cameraDisplay.getCameraViewportMarginBottom()); }