From 80394cd8fa7e1e4782eb8d4ebad109e633eb3956 Mon Sep 17 00:00:00 2001 From: xyzcancer Date: Fri, 15 May 2026 20:56:00 +0400 Subject: [PATCH] DEV-4256: fix stories layout on devices with display cutout Top progress timeline was hidden under the status bar / camera cutout on devices like Samsung Galaxy S24 Ultra. Apply system window insets to the dialog root and use SHORT_EDGES cutout mode so the content respects safe area. --- .../kotlin/com/personalization/stories/views/StoryDialog.kt | 5 +++++ personalization-sdk/src/main/res/layout/dialog_stories.xml | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/personalization-sdk/src/main/kotlin/com/personalization/stories/views/StoryDialog.kt b/personalization-sdk/src/main/kotlin/com/personalization/stories/views/StoryDialog.kt index 22c48a33..a11cae04 100644 --- a/personalization-sdk/src/main/kotlin/com/personalization/stories/views/StoryDialog.kt +++ b/personalization-sdk/src/main/kotlin/com/personalization/stories/views/StoryDialog.kt @@ -4,6 +4,7 @@ import android.app.Dialog import android.content.res.Configuration import android.graphics.Color import android.graphics.Rect +import android.os.Build import android.view.Gravity import android.view.View import android.view.ViewGroup @@ -50,6 +51,10 @@ class StoryDialog( wlp.gravity = Gravity.CENTER wlp.flags = wlp.flags and WindowManager.LayoutParams.FLAG_BLUR_BEHIND.inv() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + wlp.layoutInDisplayCutoutMode = + WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES + } window.attributes = wlp window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT) diff --git a/personalization-sdk/src/main/res/layout/dialog_stories.xml b/personalization-sdk/src/main/res/layout/dialog_stories.xml index f0d50ad8..8f9d0682 100644 --- a/personalization-sdk/src/main/res/layout/dialog_stories.xml +++ b/personalization-sdk/src/main/res/layout/dialog_stories.xml @@ -3,7 +3,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/pull_dismiss_layout" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:fitsSystemWindows="true">