diff --git a/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java index 5b47c0eb2..dc72ab036 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java @@ -125,7 +125,7 @@ public final class AvatarPreviewActivity extends PassphraseRequiredActivity { toolbar.setTitle(recipient.getDisplayName(context)); }); - FullscreenHelper fullscreenHelper = FullscreenHelper.createWithShortEdgesCutoutMode(this); + FullscreenHelper fullscreenHelper = new FullscreenHelper(this); findViewById(android.R.id.content).setOnClickListener(v -> fullscreenHelper.toggleUiVisibility()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java index 3d0a3f3e2..aa06149ff 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java @@ -159,7 +159,7 @@ public final class MediaPreviewActivity extends PassphraseRequiredActivity viewModel = ViewModelProviders.of(this).get(MediaPreviewViewModel.class); - fullscreenHelper = FullscreenHelper.createWithShortEdgesCutoutMode(this); + fullscreenHelper = new FullscreenHelper(this); getSupportActionBar().setDisplayHomeAsUpEnabled(true); diff --git a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java index 212fd66a9..641fbc360 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java @@ -108,7 +108,7 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.webrtc_call_activity); - fullscreenHelper = FullscreenHelper.createWithShortEdgesCutoutMode(this); + fullscreenHelper = new FullscreenHelper(this); setVolumeControlStream(AudioManager.STREAM_VOICE_CALL); diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.java b/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.java index 63587a357..34f6e3fd6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.java @@ -33,6 +33,8 @@ public class InsetAwareConstraintLayout extends ConstraintLayout { protected boolean fitSystemWindows(Rect insets) { Guideline statusBarGuideline = findViewById(R.id.status_bar_guideline); Guideline navigationBarGuideline = findViewById(R.id.navigation_bar_guideline); + Guideline parentStartGuideline = findViewById(R.id.parent_start_guideline); + Guideline parentEndGuideline = findViewById(R.id.parent_end_guideline); if (statusBarGuideline != null) { statusBarGuideline.setGuidelineBegin(insets.top); @@ -42,6 +44,14 @@ public class InsetAwareConstraintLayout extends ConstraintLayout { navigationBarGuideline.setGuidelineEnd(insets.bottom); } + if (parentStartGuideline != null) { + parentStartGuideline.setGuidelineBegin(insets.left); + } + + if (parentEndGuideline != null) { + parentEndGuideline.setGuidelineEnd(insets.right); + } + return true; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 8f6631904..131c8562e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -420,7 +420,7 @@ public class ConversationActivity extends PassphraseRequiredActivity return; } - FullscreenHelper.createWithDefaultCutoutMode(this).showSystemUI(); + new FullscreenHelper(this).showSystemUI(); ConversationIntents.Args args = ConversationIntents.Args.from(getIntent()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java b/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java index 12bb95f16..5b50d9f7c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java @@ -18,28 +18,14 @@ public final class FullscreenHelper { @NonNull private final Activity activity; - public static @NonNull FullscreenHelper createWithDefaultCutoutMode(@NonNull Activity activity) { - FullscreenHelper helper = new FullscreenHelper(activity); - - helper.showSystemUI(); - - return helper; - } - - public static @NonNull FullscreenHelper createWithShortEdgesCutoutMode(@NonNull Activity activity) { - FullscreenHelper helper = new FullscreenHelper(activity); + public FullscreenHelper(@NonNull Activity activity) { + this.activity = activity; if (Build.VERSION.SDK_INT >= 28) { activity.getWindow().getAttributes().layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES; } - helper.showSystemUI(); - - return helper; - } - - private FullscreenHelper(@NonNull Activity activity) { - this.activity = activity; + showSystemUI(); } public void configureToolbarSpacer(@NonNull View spacer) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewActivity.java index 411bfd980..f41901cf0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewActivity.java @@ -90,7 +90,7 @@ public class ChatWallpaperPreviewActivity extends PassphraseRequiredActivity { bubble2.setText(getString(R.string.ChatWallpaperPreviewActivity__set_wallpaper_for_s, recipient.getDisplayName(this))); } - FullscreenHelper.createWithDefaultCutoutMode(this).showSystemUI(); + new FullscreenHelper(this).showSystemUI(); WindowUtil.setLightStatusBarFromTheme(this); WindowUtil.setLightNavigationBarFromTheme(this); } diff --git a/app/src/main/res/layout/conversation_activity.xml b/app/src/main/res/layout/conversation_activity.xml index 7a8b6b881..ab7746c1a 100644 --- a/app/src/main/res/layout/conversation_activity.xml +++ b/app/src/main/res/layout/conversation_activity.xml @@ -27,8 +27,8 @@ + app:layout_constraintStart_toStartOf="@id/parent_start_guideline" + app:layout_constraintEnd_toEndOf="@id/parent_end_guideline"> diff --git a/app/src/main/res/layout/conversation_reaction_scrubber.xml b/app/src/main/res/layout/conversation_reaction_scrubber.xml index 05e7b2988..ff33416cf 100644 --- a/app/src/main/res/layout/conversation_reaction_scrubber.xml +++ b/app/src/main/res/layout/conversation_reaction_scrubber.xml @@ -5,12 +5,12 @@ android:id="@+id/conversation_reaction_scrubber" android:layout_width="0dp" android:layout_height="0dp" + app:layout_constraintTop_toTopOf="@+id/status_bar_guideline" + app:layout_constraintBottom_toBottomOf="@+id/navigation_bar_guideline" + app:layout_constraintStart_toStartOf="@+id/parent_start_guideline" + app:layout_constraintEnd_toEndOf="@+id/parent_end_guideline" android:elevation="1000dp" android:visibility="gone" - app:layout_constraintBottom_toBottomOf="@+id/navigation_bar_guideline" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/status_bar_guideline" tools:visibility="visible"> + + + + \ No newline at end of file