From 79c69fccd187edaba3c65b39fe056107ca25ad12 Mon Sep 17 00:00:00 2001 From: Sunny Shao Date: Tue, 2 Jul 2024 21:31:30 +0800 Subject: [PATCH] Fix display problem in the freeform mode Fixes: 347373574 Flag: EXEMPT bugfix Test: manual test Change-Id: Ia1333474059988a524fc0ca49e7062b51da2cc37 --- src/com/android/settings/Utils.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 27a628c5308..e94769ad61a 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -1423,13 +1423,15 @@ public final class Utils extends com.android.settingslib.Utils { public static void setupEdgeToEdge(@NonNull FragmentActivity activity) { ViewCompat.setOnApplyWindowInsetsListener(activity.findViewById(android.R.id.content), (v, windowInsets) -> { - Insets insets = windowInsets.getInsets( + final Insets insets = windowInsets.getInsets( WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.ime() | WindowInsetsCompat.Type.displayCutout()); - int statusBarHeight = activity.getWindow().getDecorView().getRootWindowInsets() - .getInsets(WindowInsetsCompat.Type.statusBars()).top; + int newInsetsTop = activity.getWindow().getDecorView().getRootWindowInsets() + .getInsets(WindowInsetsCompat.Type.statusBars() + | WindowInsetsCompat.Type.captionBar()).top; + // Apply the insets paddings to the view. - v.setPadding(insets.left, statusBarHeight, insets.right, insets.bottom); + v.setPadding(insets.left, newInsetsTop, insets.right, insets.bottom); // Return CONSUMED if you don't want the window insets to keep being // passed down to descendant views.