From b37bcf2e027c0f0f8a45694d291bab2dcf037fa6 Mon Sep 17 00:00:00 2001 From: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> Date: Mon, 16 Jun 2025 21:58:51 -0400 Subject: [PATCH] ViewCompat.setOnApplyWindowInsetsListener in SendPrivateMessageActivity. --- .../SendPrivateMessageActivity.java | 37 +++++++++++++++++-- .../layout/activity_send_private_message.xml | 2 + 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SendPrivateMessageActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SendPrivateMessageActivity.java index 4f92f37a..1c683840 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SendPrivateMessageActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/SendPrivateMessageActivity.java @@ -1,13 +1,17 @@ package ml.docilealligator.infinityforreddit.activities; import android.content.SharedPreferences; -import android.os.Build; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; +import android.view.View; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.core.graphics.Insets; +import androidx.core.view.OnApplyWindowInsetsListener; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import com.google.android.material.snackbar.Snackbar; @@ -57,8 +61,35 @@ public class SendPrivateMessageActivity extends BaseActivity { applyCustomTheme(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isChangeStatusBarIconColor()) { - addOnOffsetChangedListener(binding.appbarLayoutSendPrivateMessageActivity); + if (isImmersiveInterface()) { + if (isChangeStatusBarIconColor()) { + addOnOffsetChangedListener(binding.appbarLayoutSendPrivateMessageActivity); + } + + 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.toolbarSendPrivateMessageActivity, + allInsets.left, + allInsets.top, + allInsets.right, + BaseActivity.IGNORE_MARGIN); + + binding.nestedScrollViewSendPrivateMesassgeActivity.setPadding( + allInsets.left, + 0, + allInsets.right, + allInsets.bottom); + + return WindowInsetsCompat.CONSUMED; + } + }); } mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null); diff --git a/app/src/main/res/layout/activity_send_private_message.xml b/app/src/main/res/layout/activity_send_private_message.xml index 6f9c5e46..e0950051 100644 --- a/app/src/main/res/layout/activity_send_private_message.xml +++ b/app/src/main/res/layout/activity_send_private_message.xml @@ -23,8 +23,10 @@