From 63c1d4f9466eaa76c24dcc07e3f8e8bfda83cac3 Mon Sep 17 00:00:00 2001 From: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> Date: Mon, 16 Jun 2025 21:52:03 -0400 Subject: [PATCH] ViewCompat.setOnApplyWindowInsetsListener in SearchActivity. --- .../activities/SearchActivity.java | 36 +++++++++++++++++++ app/src/main/res/layout/activity_search.xml | 2 ++ 2 files changed, 38 insertions(+) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java index afe659f9..db5d8380 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SearchActivity.java @@ -20,6 +20,10 @@ import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.graphics.Insets; +import androidx.core.view.OnApplyWindowInsetsListener; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.core.view.inputmethod.EditorInfoCompat; import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.GridLayoutManager; @@ -139,6 +143,38 @@ public class SearchActivity extends BaseActivity { Slidr.attach(this); } + if (isImmersiveInterface()) { + if (isChangeStatusBarIconColor()) { + addOnOffsetChangedListener(binding.appbarLayoutSearchActivity); + } + + ViewCompat.setOnApplyWindowInsetsListener(binding.getRoot(), new OnApplyWindowInsetsListener() { + @NonNull + @Override + public WindowInsetsCompat onApplyWindowInsets(@NonNull View v, @NonNull WindowInsetsCompat insets) { + Insets allInsets = insets.getInsets( + WindowInsetsCompat.Type.systemBars() + | WindowInsetsCompat.Type.displayCutout() + ); + + setMargins(binding.toolbar, + allInsets.left, + allInsets.top, + allInsets.right, + BaseActivity.IGNORE_MARGIN); + + binding.nestedScrollViewSearchActivity.setPadding( + allInsets.left, + 0, + allInsets.right, + allInsets.bottom + ); + + return WindowInsetsCompat.CONSUMED; + } + }); + } + setSupportActionBar(binding.toolbar); binding.clearSearchEditViewSearchActivity.setVisibility(View.GONE); diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index 25d36164..0ea34ff6 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -67,8 +67,10 @@