diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java index cf46d1a79..d5abb90e7 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java @@ -1,5 +1,6 @@ package app.revanced.extension.youtube.settings.preference; +import static com.google.android.apps.youtube.app.settings.videoquality.VideoQualitySettingsActivity.setToolbarLayoutParams; import static app.revanced.extension.shared.settings.preference.AbstractPreferenceFragment.showRestartDialog; import static app.revanced.extension.shared.settings.preference.AbstractPreferenceFragment.updateListPreferenceSummary; import static app.revanced.extension.shared.utils.ResourceUtils.getXmlIdentifier; @@ -18,6 +19,7 @@ import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.Insets; import android.net.Uri; import android.os.Bundle; import android.preference.EditTextPreference; @@ -31,6 +33,7 @@ import android.preference.PreferenceScreen; import android.preference.SwitchPreference; import android.util.TypedValue; import android.view.ViewGroup; +import android.view.WindowInsets; import android.widget.TextView; import android.widget.Toolbar; @@ -202,6 +205,15 @@ public class ReVancedPreferenceFragment extends PreferenceFragment { .findViewById(android.R.id.content) .getParent(); + // Fix required for Android 15 + if (isSDKAbove(35)) { + rootView.setOnApplyWindowInsetsListener((v, insets) -> { + Insets statusInsets = insets.getInsets(WindowInsets.Type.statusBars()); + v.setPadding(0, statusInsets.top, 0, 0); + return insets; + }); + } + Toolbar toolbar = new Toolbar(preferenceScreen.getContext()); toolbar.setTitle(preferenceScreen.getTitle()); @@ -219,6 +231,8 @@ public class ReVancedPreferenceFragment extends PreferenceFragment { toolbarTextView.setTextColor(ThemeUtils.getForegroundColor()); } + setToolbarLayoutParams(toolbar); + rootView.addView(toolbar, 0); return false; } diff --git a/extensions/shared/src/main/java/com/google/android/apps/youtube/app/settings/videoquality/VideoQualitySettingsActivity.java b/extensions/shared/src/main/java/com/google/android/apps/youtube/app/settings/videoquality/VideoQualitySettingsActivity.java index 1d1468478..f01b05cf2 100644 --- a/extensions/shared/src/main/java/com/google/android/apps/youtube/app/settings/videoquality/VideoQualitySettingsActivity.java +++ b/extensions/shared/src/main/java/com/google/android/apps/youtube/app/settings/videoquality/VideoQualitySettingsActivity.java @@ -88,17 +88,21 @@ public class VideoQualitySettingsActivity extends Activity { fragment.filterPreferences(query); } + private static ViewGroup.LayoutParams lp; + + public static void setToolbarLayoutParams(Toolbar toolbar) { + if (lp != null) { + toolbar.setLayoutParams(lp); + } + } + private void setToolbar() { - if (!(findViewById(ResourceUtils.getIdIdentifier("revanced_toolbar_parent")) instanceof ViewGroup toolBarParent)) - return; + ViewGroup toolBarParent = findViewById(ResourceUtils.getIdIdentifier("revanced_toolbar_parent")); // Remove dummy toolbar. - for (int i = 0; i < toolBarParent.getChildCount(); i++) { - View view = toolBarParent.getChildAt(i); - if (view != null) { - toolBarParent.removeView(view); - } - } + ViewGroup dummyToolbar = toolBarParent.findViewById(ResourceUtils.getIdIdentifier("revanced_toolbar")); + lp = dummyToolbar.getLayoutParams(); + toolBarParent.removeView(dummyToolbar); Toolbar toolbar = new Toolbar(toolBarParent.getContext()); toolbar.setBackgroundColor(ThemeUtils.getToolbarBackgroundColor()); @@ -112,6 +116,7 @@ public class VideoQualitySettingsActivity extends Activity { if (toolbarTextView != null) { toolbarTextView.setTextColor(ThemeUtils.getForegroundColor()); } + setToolbarLayoutParams(toolbar); toolBarParent.addView(toolbar, 0); } diff --git a/patches/src/main/resources/youtube/settings/layout/revanced_settings_with_toolbar.xml b/patches/src/main/resources/youtube/settings/layout/revanced_settings_with_toolbar.xml index a28d8d595..97927c4fa 100644 --- a/patches/src/main/resources/youtube/settings/layout/revanced_settings_with_toolbar.xml +++ b/patches/src/main/resources/youtube/settings/layout/revanced_settings_with_toolbar.xml @@ -16,10 +16,10 @@ android:background="@color/yt_white1" android:elevation="0dp"> -