Add stub controls section in main preferences screen
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
package org.chromium.chrome.browser.preferences;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.preferences.ChromeSwitchPreferenceCompat;
|
||||
|
||||
public class BackgroundVideoPlaybackPreference
|
||||
extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener {
|
||||
private static final String BACKGROUND_VIDEO_PLAYBACK_KEY = "background_video_playback";
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
getActivity().setTitle(R.string.prefs_background_video_playback);
|
||||
PreferenceUtils.addPreferencesFromResource(this, R.xml.background_video_playback_preference);
|
||||
|
||||
ChromeSwitchPreferenceCompat playbackPref =
|
||||
(ChromeSwitchPreferenceCompat) findPreference(BACKGROUND_VIDEO_PLAYBACK_KEY);
|
||||
playbackPref.setChecked(true);
|
||||
playbackPref.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -19,9 +19,16 @@ import java.util.HashMap;
|
||||
|
||||
// This exculdes some settings in main settings screen.
|
||||
public class BraveMainPreferencesBase extends PreferenceFragmentCompat {
|
||||
public static final String PREF_STANDARD_SEARCH_ENGINE = "standard_search_engine";
|
||||
public static final String PREF_PRIVATE_SEARCH_ENGINE = "private_search_engine";
|
||||
public static final String PREF_SEARCH_ENGINE_SECTION = "search_engine_section";
|
||||
private static final String PREF_STANDARD_SEARCH_ENGINE = "standard_search_engine";
|
||||
private static final String PREF_PRIVATE_SEARCH_ENGINE = "private_search_engine";
|
||||
private static final String PREF_SEARCH_ENGINE_SECTION = "search_engine_section";
|
||||
private static final String PREF_BACKGROUND_VIDEO_PLAYBACK = "background_video_playback";
|
||||
private static final String PREF_CLOSING_ALL_TABS_CLOSES_BRAVE = "closing_all_tabs_closes_brave";
|
||||
private static final String PREF_ADVANCED_SECTION = "advanced_section";
|
||||
private static final String PREF_PRIVACY = "privacy";
|
||||
private static final String PREF_ACCESSIBILITY = "accessibility";
|
||||
private static final String PREF_CONTENT_SETTINGS = "content_settings";
|
||||
private static final String PREF_ABOUT_CHROME = "about_chrome";
|
||||
|
||||
private final HashMap<String, Preference> mRemovedPreferences = new HashMap<>();
|
||||
|
||||
@@ -32,7 +39,7 @@ public class BraveMainPreferencesBase extends PreferenceFragmentCompat {
|
||||
// Add brave's additional preferences here because |onCreatePreference| is not called
|
||||
// by subclass (MainPreference::onCreatePreferences()).
|
||||
// But, calling here has same effect because |onCreatePreferences()| is called by onCreate().
|
||||
PreferenceUtils.addPreferencesFromResource(this, R.xml.brave_search_engine_preferences);
|
||||
PreferenceUtils.addPreferencesFromResource(this, R.xml.brave_main_preferences);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -57,6 +64,9 @@ public class BraveMainPreferencesBase extends PreferenceFragmentCompat {
|
||||
removePreferenceIfPresent(MainPreferences.PREF_SEARCH_ENGINE);
|
||||
|
||||
updateSearchEnginePreference();
|
||||
updateControlSectionPreferences();
|
||||
|
||||
rearrangePreferenceOrders();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -71,6 +81,26 @@ public class BraveMainPreferencesBase extends PreferenceFragmentCompat {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-arrange by resetting each preference's order.
|
||||
* With this, we can insert our own preferences at any position.
|
||||
*/
|
||||
private void rearrangePreferenceOrders() {
|
||||
// We don't need to consider search engine section because they are using 0 ~ 2 ordered
|
||||
// and we deleted original 0 ~ 2 ordered preferences.
|
||||
// Advanced section will be located below our controls section.
|
||||
int order = findPreference(PREF_CLOSING_ALL_TABS_CLOSES_BRAVE).getOrder();
|
||||
findPreference(PREF_ADVANCED_SECTION).setOrder(++order);
|
||||
findPreference(PREF_PRIVACY).setOrder(++order);
|
||||
findPreference(PREF_ACCESSIBILITY).setOrder(++order);
|
||||
findPreference(PREF_CONTENT_SETTINGS).setOrder(++order);
|
||||
findPreference(MainPreferences.PREF_LANGUAGES).setOrder(++order);
|
||||
findPreference(MainPreferences.PREF_DATA_REDUCTION).setOrder(++order);
|
||||
findPreference(MainPreferences.PREF_DOWNLOADS).setOrder(++order);
|
||||
findPreference(MainPreferences.PREF_DEVELOPER).setOrder(++order);
|
||||
findPreference(PREF_ABOUT_CHROME).setOrder(++order);
|
||||
}
|
||||
|
||||
private void removePreferenceIfPresent(String key) {
|
||||
Preference preference = getPreferenceScreen().findPreference(key);
|
||||
if (preference != null) {
|
||||
@@ -95,4 +125,12 @@ public class BraveMainPreferencesBase extends PreferenceFragmentCompat {
|
||||
searchEnginePreference.setEnabled(true);
|
||||
searchEnginePreference.setSummary(BraveSearchEngineUtils.getDSEShortName(true));
|
||||
}
|
||||
|
||||
void updateControlSectionPreferences() {
|
||||
// TODO(simonhong): Update summary properly.
|
||||
Preference p = findPreference(PREF_BACKGROUND_VIDEO_PLAYBACK);
|
||||
p.setSummary(R.string.prefs_background_video_playback_summary_enabled);
|
||||
p = findPreference(PREF_CLOSING_ALL_TABS_CLOSES_BRAVE);
|
||||
p.setSummary(R.string.prefs_closing_all_tabs_closes_brave_summary_enabled);
|
||||
}
|
||||
}
|
||||
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package org.chromium.chrome.browser.preferences;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.preferences.ChromeSwitchPreferenceCompat;
|
||||
|
||||
public class ClosingAllTabsClosesBravePreference
|
||||
extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener {
|
||||
private static final String CLOSING_ALL_TABS_CLOSES_BRAVE_KEY = "closing_all_tabs_closes_brave";
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
getActivity().setTitle(R.string.prefs_closing_all_tabs_closes_brave);
|
||||
PreferenceUtils.addPreferencesFromResource(this, R.xml.closing_all_tabs_closes_brave_preference);
|
||||
|
||||
ChromeSwitchPreferenceCompat pref =
|
||||
(ChromeSwitchPreferenceCompat) findPreference(CLOSING_ALL_TABS_CLOSES_BRAVE_KEY);
|
||||
pref.setChecked(true);
|
||||
pref.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) 2019 The Brave Authors. All rights reserved.
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<android.support.v7.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<org.chromium.chrome.browser.preferences.ChromeSwitchPreferenceCompat
|
||||
android:key="background_video_playback"
|
||||
android:title="@string/prefs_background_video_playback"
|
||||
android:summaryOn="@string/prefs_background_video_playback_on"
|
||||
android:summaryOff="@string/prefs_background_video_playback_summary_disabled" />
|
||||
</android.support.v7.preference.PreferenceScreen>
|
||||
+14
@@ -21,4 +21,18 @@
|
||||
android:key="private_search_engine"
|
||||
android:order="2"
|
||||
android:title="@string/prefs_private_search_engine"/>
|
||||
<android.support.v7.preference.PreferenceCategory
|
||||
android:key="controls_section"
|
||||
android:order="12"
|
||||
android:title="@string/prefs_section_controls"/>
|
||||
<org.chromium.chrome.browser.preferences.ChromeBasePreferenceCompat
|
||||
android:fragment="org.chromium.chrome.browser.preferences.BackgroundVideoPlaybackPreference"
|
||||
android:key="background_video_playback"
|
||||
android:order="13"
|
||||
android:title="@string/prefs_background_video_playback"/>
|
||||
<org.chromium.chrome.browser.preferences.ChromeBasePreferenceCompat
|
||||
android:fragment="org.chromium.chrome.browser.preferences.ClosingAllTabsClosesBravePreference"
|
||||
android:key="closing_all_tabs_closes_brave"
|
||||
android:order="14"
|
||||
android:title="@string/prefs_closing_all_tabs_closes_brave"/>
|
||||
</android.support.v7.preference.PreferenceScreen>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) 2019 The Brave Authors. All rights reserved.
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<android.support.v7.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<org.chromium.chrome.browser.preferences.ChromeSwitchPreferenceCompat
|
||||
android:key="closing_all_tabs_closes_brave"
|
||||
android:title="@string/prefs_closing_all_tabs_closes_brave"
|
||||
android:summaryOn="@string/prefs_closing_all_tabs_closes_brave_summary_enabled"
|
||||
android:summaryOff="@string/prefs_closing_all_tabs_closes_brave_summary_disabled" />
|
||||
</android.support.v7.preference.PreferenceScreen>
|
||||
@@ -177,6 +177,30 @@ This file contains all "about" strings. It is set to NOT be translated, in tran
|
||||
<message name="IDS_SETTINGS_PLAY_YT_VIDEO_IN_BROWSER_ENABLED_SUMMARY" desc="Summary for play youtube video in brave in site settings">
|
||||
Enabled
|
||||
</message>
|
||||
<message name="IDS_PREFS_SECTION_CONTROLS" desc="Title for controls section in main preferences screen">
|
||||
Controls
|
||||
</message>
|
||||
<message name="IDS_PREFS_BACKGROUND_VIDEO_PLAYBACK" desc="Title for background video playback preference in controls section">
|
||||
Background video playback
|
||||
</message>
|
||||
<message name="IDS_PREFS_CLOSING_ALL_TABS_CLOSES_BRAVE" desc="Title for closing all tabs closes brave in controls section">
|
||||
Closing all tabs closes Brave
|
||||
</message>
|
||||
<message name="IDS_PREFS_BACKGROUND_VIDEO_PLAYBACK_ON" desc="Text for background video playback is on">
|
||||
Experimental. Enables play audio from video in background when tab is not active or device screen is turned off. Try to switch to desktop mode if this feature is not working.
|
||||
</message>
|
||||
<message name="IDS_PREFS_BACKGROUND_VIDEO_PLAYBACK_SUMMARY_ENABLED" desc="Summary for background video playback is enabled">
|
||||
Enabled
|
||||
</message>
|
||||
<message name="IDS_PREFS_BACKGROUND_VIDEO_PLAYBACK_SUMMARY_DISABLED" desc="Summary for background video playback is disabled">
|
||||
Disabled
|
||||
</message>
|
||||
<message name="IDS_PREFS_CLOSING_ALL_TABS_CLOSES_BRAVE_SUMMARY_ENABLED" desc="Sumamry for closing all tabs closes brave is enabled">
|
||||
On
|
||||
</message>
|
||||
<message name="IDS_PREFS_CLOSING_ALL_TABS_CLOSES_BRAVE_SUMMARY_DISABLED" desc="Sumamry for closing all tabs closes brave is disabled">
|
||||
Off
|
||||
</message>
|
||||
</messages>
|
||||
</release>
|
||||
</grit>
|
||||
|
||||
Reference in New Issue
Block a user