Fix UI issues related to insets in AcknowledgementFragment and TranslationFragment.

This commit is contained in:
Docile-Alligator 2025-07-11 17:41:03 -04:00
parent 8ac338ef44
commit dd081e543f
4 changed files with 40 additions and 0 deletions

View File

@ -9,6 +9,10 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull; 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 androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import java.util.ArrayList; import java.util.ArrayList;
@ -117,6 +121,21 @@ public class AcknowledgementFragment extends Fragment {
binding.getRoot().setBackgroundColor(activity.customThemeWrapper.getBackgroundColor()); binding.getRoot().setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
if (activity.isImmersiveInterface()) {
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()
);
binding.getRoot().setPadding(allInsets.left, 0, allInsets.right, allInsets.bottom);
return WindowInsetsCompat.CONSUMED;
}
});
}
return binding.getRoot(); return binding.getRoot();
} }

View File

@ -7,6 +7,10 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull; 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 androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import javax.inject.Inject; import javax.inject.Inject;
@ -40,6 +44,21 @@ public class TranslationFragment extends Fragment {
binding.getRoot().setBackgroundColor(customThemeWrapper.getBackgroundColor()); binding.getRoot().setBackgroundColor(customThemeWrapper.getBackgroundColor());
if (activity.isImmersiveInterface()) {
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()
);
binding.getRoot().setPadding(allInsets.left, 0, allInsets.right, allInsets.bottom);
return WindowInsetsCompat.CONSUMED;
}
});
}
return binding.getRoot(); return binding.getRoot();
} }

View File

@ -2,4 +2,5 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:clipToPadding="false"
tools:context="ml.docilealligator.infinityforreddit.settings.AcknowledgementFragment" /> tools:context="ml.docilealligator.infinityforreddit.settings.AcknowledgementFragment" />

View File

@ -5,4 +5,5 @@
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
app:layoutManager="ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed" app:layoutManager="ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed"
android:clipToPadding="false"
tools:context=".settings.TranslationFragment" /> tools:context=".settings.TranslationFragment" />