diff --git a/app/src/main/java/com/topjohnwu/magisk/AboutActivity.java b/app/src/main/java/com/topjohnwu/magisk/AboutActivity.java
index 9314ef79c..8a8245543 100644
--- a/app/src/main/java/com/topjohnwu/magisk/AboutActivity.java
+++ b/app/src/main/java/com/topjohnwu/magisk/AboutActivity.java
@@ -18,6 +18,7 @@ import android.view.WindowManager;
import android.widget.TextView;
import com.topjohnwu.magisk.utils.Logger;
+import com.topjohnwu.magisk.utils.Utils;
import java.io.IOException;
import java.io.InputStream;
@@ -45,7 +46,7 @@ public class AboutActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
String theme = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("theme", "");
Logger.dev("AboutActivity: Theme is " + theme);
- if (theme.equals("Dark")) {
+ if (Utils.isDarkTheme(theme, this)) {
setTheme(R.style.AppTheme_dh);
}
setContentView(R.layout.activity_about);
@@ -76,7 +77,7 @@ public class AboutActivity extends AppCompatActivity {
}
appChangelog.removeSummary();
- if (theme.equals("Dark")) {
+ if (Utils.isDarkTheme(theme, this)) {
builder = new AlertDialog.Builder(this, R.style.AlertDialog_dh);
} else {
builder = new AlertDialog.Builder(this);
diff --git a/app/src/main/java/com/topjohnwu/magisk/MainActivity.java b/app/src/main/java/com/topjohnwu/magisk/MainActivity.java
index 267604ab3..20cdb11cf 100644
--- a/app/src/main/java/com/topjohnwu/magisk/MainActivity.java
+++ b/app/src/main/java/com/topjohnwu/magisk/MainActivity.java
@@ -27,6 +27,7 @@ import android.view.View;
import com.topjohnwu.magisk.utils.CallbackHandler;
import com.topjohnwu.magisk.utils.Logger;
import com.topjohnwu.magisk.utils.Shell;
+import com.topjohnwu.magisk.utils.Utils;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -55,7 +56,7 @@ public class MainActivity extends AppCompatActivity
String theme = prefs.getString("theme", "");
Logger.dev("MainActivity: Theme is " + theme);
- if (theme.equals("Dark")) {
+ if (Utils.isDarkTheme(theme, this)) {
setTheme(R.style.AppTheme_dh);
alertBuilder = new AlertDialog.Builder(this, R.style.AlertDialog_dh);
} else {
diff --git a/app/src/main/java/com/topjohnwu/magisk/SettingsActivity.java b/app/src/main/java/com/topjohnwu/magisk/SettingsActivity.java
index b657e6937..e19eb6a01 100644
--- a/app/src/main/java/com/topjohnwu/magisk/SettingsActivity.java
+++ b/app/src/main/java/com/topjohnwu/magisk/SettingsActivity.java
@@ -30,7 +30,7 @@ public class SettingsActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
String theme = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("theme", "");
Logger.dev("AboutActivity: Theme is " + theme);
- if (theme.equals("Dark")) {
+ if (Utils.isDarkTheme(theme, this)) {
setTheme(R.style.AppTheme_dh);
}
@@ -123,7 +123,7 @@ public class SettingsActivity extends AppCompatActivity {
String theme = prefs.getString(key, "");
themePreference.setSummary(theme);
- if (theme.equals("Dark")) {
+ if (Utils.isDarkTheme(theme, getActivity())) {
getActivity().getApplication().setTheme(R.style.AppTheme_dh);
} else {
getActivity().getApplication().setTheme(R.style.AppTheme);
diff --git a/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java b/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java
index 468d9c18f..a6113fb04 100644
--- a/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java
+++ b/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java
@@ -17,7 +17,7 @@ public class SplashActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplication());
- if (prefs.getString("theme", "").equals("Dark")) {
+ if (Utils.isDarkTheme(prefs.getString("theme", null), this)) {
setTheme(R.style.AppTheme_dh);
}
diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java b/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java
index 399ebbf88..d42fb5f4c 100644
--- a/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java
+++ b/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java
@@ -164,6 +164,10 @@ public class Utils {
return null;
}
+ public static boolean isDarkTheme(String theme, Context resources) {
+ return theme != null && theme.equalsIgnoreCase(resources.getString(R.string.theme_dark_value));
+ }
+
public static class ByteArrayInOutStream extends ByteArrayOutputStream {
public ByteArrayInputStream getInputStream() {
ByteArrayInputStream in = new ByteArrayInputStream(buf, 0, count);
diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/WebWindow.java b/app/src/main/java/com/topjohnwu/magisk/utils/WebWindow.java
index 30d7e4633..e2c716135 100644
--- a/app/src/main/java/com/topjohnwu/magisk/utils/WebWindow.java
+++ b/app/src/main/java/com/topjohnwu/magisk/utils/WebWindow.java
@@ -14,7 +14,7 @@ public class WebWindow {
public WebWindow(String title, String url, Context context) {
AlertDialog.Builder alert;
String theme = PreferenceManager.getDefaultSharedPreferences(context).getString("theme", "");
- if (theme.equals("Dark")) {
+ if (Utils.isDarkTheme(theme, context)) {
alert = new AlertDialog.Builder(context, R.style.AlertDialog_dh);
} else {
alert = new AlertDialog.Builder(context);
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 1f10d557a..801f99d9a 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -4,4 +4,8 @@
- "Default"
- "Dark"
+
+ - @string/theme_default_value
+ - @string/theme_dark_value
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 99bad1219..1c2e79b24 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -130,4 +130,8 @@
Reboot to apply settings
+
+ default
+ dark
+
diff --git a/app/src/main/res/xml/app_settings.xml b/app/src/main/res/xml/app_settings.xml
index 9b49dea74..2a2c0a83d 100644
--- a/app/src/main/res/xml/app_settings.xml
+++ b/app/src/main/res/xml/app_settings.xml
@@ -8,9 +8,9 @@
android:key="theme"
android:title="@string/settings_theme_title"
android:summary="@string/settings_theme_summary"
- android:defaultValue="Default"
+ android:defaultValue="@string/theme_default_value"
android:entries="@array/themes"
- android:entryValues="@array/themes"/>
+ android:entryValues="@array/themes_values"/>