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/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";
 
     // ----------------------