From 547cd79dd365b7cf39ee6905877813707a34e7ec Mon Sep 17 00:00:00 2001 From: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> Date: Mon, 16 Jun 2025 22:00:36 -0400 Subject: [PATCH] ViewCompat.setOnApplyWindowInsetsListener in SubmitCrosspostActivity. --- .../activities/SubmitCrosspostActivity.java | 35 +++++++++++++++++-- .../res/layout/activity_submit_crosspost.xml | 2 ++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubmitCrosspostActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubmitCrosspostActivity.java index 1ee6a9ea..140401ad 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubmitCrosspostActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SubmitCrosspostActivity.java @@ -21,6 +21,10 @@ import android.view.View; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; +import androidx.core.graphics.Insets; +import androidx.core.view.OnApplyWindowInsetsListener; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import com.bumptech.glide.Glide; import com.bumptech.glide.RequestManager; @@ -135,8 +139,35 @@ public class SubmitCrosspostActivity extends BaseActivity implements FlairBottom applyCustomTheme(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isChangeStatusBarIconColor()) { - addOnOffsetChangedListener(binding.appbarLayoutSubmitCrosspostActivity); + if (isImmersiveInterface()) { + if (isChangeStatusBarIconColor()) { + addOnOffsetChangedListener(binding.appbarLayoutSubmitCrosspostActivity); + } + + 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.toolbarSubmitCrosspostActivity, + allInsets.left, + allInsets.top, + allInsets.right, + BaseActivity.IGNORE_MARGIN); + + binding.nestedScrollViewSubmitCrosspostActivity.setPadding( + allInsets.left, + 0, + allInsets.right, + allInsets.bottom); + + return WindowInsetsCompat.CONSUMED; + } + }); } setSupportActionBar(binding.toolbarSubmitCrosspostActivity); diff --git a/app/src/main/res/layout/activity_submit_crosspost.xml b/app/src/main/res/layout/activity_submit_crosspost.xml index c52f3dbb..4a731e9a 100644 --- a/app/src/main/res/layout/activity_submit_crosspost.xml +++ b/app/src/main/res/layout/activity_submit_crosspost.xml @@ -23,8 +23,10 @@