Night Mode and Runtime Enable/Disable Option
By default, night mode is disabled. User can switch it on and off in General
Settings.
Change-Id: Ibf78689ed4a75dcee9ae1d036d1a770627df298b
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 01aee0c..54e5fe2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -385,6 +385,11 @@
<!-- Settings summary for the powersave feature. -->
<string name ="pref_powersave_enabled_summary">Turn on power saving mode</string>
+ <!-- Checkbox setting for enabling/disabling night mode feature -->
+ <string name ="pref_nightmode_enabled">Night mode</string>
+ <!-- Settings summary for the night mode feature. -->
+ <string name ="pref_nightmode_enabled_summary">Turn on night mode</string>
+
<!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
<string name="pref_autofill_enabled">Form auto-fill</string>
<!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
diff --git a/res/xml/general_preferences.xml b/res/xml/general_preferences.xml
index abd7b73..816503b 100644
--- a/res/xml/general_preferences.xml
+++ b/res/xml/general_preferences.xml
@@ -43,6 +43,12 @@
android:title="@string/pref_powersave_enabled" />
<CheckBoxPreference
+ android:defaultValue="false"
+ android:key="nightmode_enabled"
+ android:summary="@string/pref_nightmode_enabled_summary"
+ android:title="@string/pref_nightmode_enabled" />
+
+ <CheckBoxPreference
android:key="autofill_enabled"
android:title="@string/pref_autofill_enabled"
android:summary="@string/pref_autofill_enabled_summary"
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index a60a109..4a138c1 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -270,6 +270,7 @@
settings.setSaveFormData(saveFormdata());
settings.setUseWideViewPort(isWideViewport());
settings.setDoNotTrack(doNotTrack());
+ settings.setNightModeEnabled(isNightModeEnabled());
settings.setMediaPlaybackRequiresUserGesture(false);
WebSettings settingsClassic = (WebSettings) settings;
@@ -821,6 +822,14 @@
mPrefs.edit().putBoolean(PREF_WEB_REFINER_ENABLED, value).apply();
}
+ public boolean isNightModeEnabled() {
+ return mPrefs.getBoolean(PREF_NIGHTMODE_ENABLED, false);
+ }
+
+ public void setNightModeEnabled(boolean value) {
+ mPrefs.edit().putBoolean(PREF_NIGHTMODE_ENABLED, value).apply();
+ }
+
// -----------------------------
// getter/setters for debug_preferences.xml
// -----------------------------
diff --git a/src/com/android/browser/PreferenceKeys.java b/src/com/android/browser/PreferenceKeys.java
index ab11940..99e5f1c 100644
--- a/src/com/android/browser/PreferenceKeys.java
+++ b/src/com/android/browser/PreferenceKeys.java
@@ -62,6 +62,7 @@
static final String PREF_WEB_REFINER_ENABLED = "web_refiner_enabled";
static final String PREF_HOMEPAGE = "homepage";
static final String PREF_POWERSAVE_ENABLED = "powersave_enabled";
+ static final String PREF_NIGHTMODE_ENABLED = "nightmode_enabled";
static final String PREF_SYNC_WITH_CHROME = "sync_with_chrome";
// ----------------------