diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni
index 9cf792b7ff8..261db30b6d9 100644
--- a/android/brave_java_sources.gni
+++ b/android/brave_java_sources.gni
@@ -24,7 +24,7 @@ brave_java_sources = [
"../../brave/android/java/org/chromium/chrome/browser/preferences/privacy/BravePrivacyPreferences.java",
"../../brave/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java",
"../../brave/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettingsObserver.java",
- "../../brave/android/java/org/chromium/chrome/browser/preferences/website/BraveSiteSettingsPreferences.java",
+ "../../brave/android/java/org/chromium/chrome/browser/preferences/website/BraveSiteSettingsPreferencesBase.java",
"../../brave/android/java/org/chromium/chrome/browser/preferences/website/DesktopModePreferences.java",
"../../brave/android/java/org/chromium/chrome/browser/preferences/website/PlayYTVideoInBrowserPreferences.java",
"../../brave/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java",
diff --git a/android/java/org/chromium/chrome/browser/preferences/website/BraveSiteSettingsPreferences.java b/android/java/org/chromium/chrome/browser/preferences/website/BraveSiteSettingsPreferencesBase.java
similarity index 72%
rename from android/java/org/chromium/chrome/browser/preferences/website/BraveSiteSettingsPreferences.java
rename to android/java/org/chromium/chrome/browser/preferences/website/BraveSiteSettingsPreferencesBase.java
index 1a31a33a777..f0cd1bd0d8d 100644
--- a/android/java/org/chromium/chrome/browser/preferences/website/BraveSiteSettingsPreferences.java
+++ b/android/java/org/chromium/chrome/browser/preferences/website/BraveSiteSettingsPreferencesBase.java
@@ -8,24 +8,40 @@ package org.chromium.chrome.browser.preferences.website;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceFragmentCompat;
import org.chromium.base.ContextUtils;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.preferences.PreferenceUtils;
-public class BraveSiteSettingsPreferences extends SiteSettingsPreferences {
+public class BraveSiteSettingsPreferencesBase extends PreferenceFragmentCompat {
private static final String DESKTOP_MODE_CATEGORY_KEY = "desktop_mode_category";
private static final String PLAY_YT_VIDEO_IN_BROWSER_CATEGORY_KEY = "play_yt_video_in_browser_category";
- @Override
- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
- super.onCreatePreferences(savedInstanceState, rootKey);
+ private static final String MEDIA_KEY = "media";
+ // Whether this class is handling showing the Media sub-menu (and not the main menu).
+ private boolean mMediaSubMenu;
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Add brave's additional preferences here because |onCreatePreference| is not called
+ // by subclass (SiteSettingsPreferences::onCreatePreferences()).
+ // But, calling here has same effect because |onCreatePreferences()| is called by onCreate().
PreferenceUtils.addPreferencesFromResource(this, R.xml.brave_site_settings_preferences);
+ if (getArguments() != null) {
+ String category =
+ getArguments().getString(SingleCategoryPreferences.EXTRA_CATEGORY, "");
+ mMediaSubMenu = MEDIA_KEY.equals(category);
+ }
configureBravePreferences();
updateBravePreferenceStates();
}
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {}
+
@Override
public void onResume() {
super.onResume();
diff --git a/patches/chrome-android-java-res-xml-main_preferences.xml.patch b/patches/chrome-android-java-res-xml-main_preferences.xml.patch
index 91d1fa3440a..0ad8b656ee8 100644
--- a/patches/chrome-android-java-res-xml-main_preferences.xml.patch
+++ b/patches/chrome-android-java-res-xml-main_preferences.xml.patch
@@ -1,5 +1,5 @@
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
-index 64ab2b255953d47c8e63082148e08f08c63a34fd..f1e3ed505fd5ae7564a27664555cd79b83978024 100644
+index 64ab2b255953d47c8e63082148e08f08c63a34fd..9c0db6db63ccdd6c97d84f5e828d8b40dbfd1bbb 100644
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -71,7 +71,7 @@
@@ -11,12 +11,3 @@ index 64ab2b255953d47c8e63082148e08f08c63a34fd..f1e3ed505fd5ae7564a27664555cd79b
android:key="privacy"
android:order="13"
android:title="@string/prefs_privacy"/>
-@@ -81,7 +81,7 @@
- android:order="14"
- android:title="@string/prefs_accessibility"/>
-
diff --git a/patches/chrome-android-java-res-xml-site_settings_preferences.xml.patch b/patches/chrome-android-java-res-xml-site_settings_preferences.xml.patch
deleted file mode 100644
index 315b652f608..00000000000
--- a/patches/chrome-android-java-res-xml-site_settings_preferences.xml.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/chrome/android/java/res/xml/site_settings_preferences.xml b/chrome/android/java/res/xml/site_settings_preferences.xml
-index ef75b04c99418feec946cebb427e69175c05e6f3..bb21711f4e57efd7fbde263c09b1482ae58d699c 100644
---- a/chrome/android/java/res/xml/site_settings_preferences.xml
-+++ b/chrome/android/java/res/xml/site_settings_preferences.xml
-@@ -67,7 +67,7 @@
- android:key="autoplay" />
-
-