mirror of https://github.com/M66B/NetGuard.git
Added theme selection
This commit is contained in:
parent
ec046b0e9c
commit
730844b3cc
|
@ -26,7 +26,7 @@
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme">
|
android:theme="@style/AppThemeTeal">
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".ActivityMain"
|
android:name=".ActivityMain"
|
||||||
|
|
|
@ -89,13 +89,13 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
Util.setTheme(this);
|
||||||
setTheme(prefs.getBoolean("dark_theme", false) ? R.style.AppThemeDark : R.style.AppTheme);
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.main);
|
setContentView(R.layout.main);
|
||||||
|
|
||||||
running = true;
|
running = true;
|
||||||
|
|
||||||
|
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
boolean enabled = prefs.getBoolean("enabled", false);
|
boolean enabled = prefs.getBoolean("enabled", false);
|
||||||
boolean initialized = prefs.getBoolean("initialized", false);
|
boolean initialized = prefs.getBoolean("initialized", false);
|
||||||
|
|
||||||
|
@ -378,7 +378,7 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
|
||||||
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuSearch);
|
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuSearch);
|
||||||
updateApplicationList(menuSearch.isActionViewExpanded() ? searchView.getQuery().toString() : null);
|
updateApplicationList(menuSearch.isActionViewExpanded() ? searchView.getQuery().toString() : null);
|
||||||
|
|
||||||
} else if ("dark_theme".equals(name))
|
} else if ("theme".equals(name) || "dark_theme".equals(name))
|
||||||
recreate();
|
recreate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,9 +52,7 @@ public class ActivityPro extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
Log.i(TAG, "Create");
|
Log.i(TAG, "Create");
|
||||||
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
Util.setTheme(this);
|
||||||
setTheme(prefs.getBoolean("dark_theme", false) ? R.style.AppThemeDark : R.style.AppTheme);
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.pro);
|
setContentView(R.layout.pro);
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ import android.os.AsyncTask;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.EditTextPreference;
|
import android.preference.EditTextPreference;
|
||||||
|
import android.preference.ListPreference;
|
||||||
import android.preference.MultiSelectListPreference;
|
import android.preference.MultiSelectListPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceCategory;
|
import android.preference.PreferenceCategory;
|
||||||
|
@ -83,11 +84,8 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
private static final Intent INTENT_VPN_SETTINGS = new Intent("android.net.vpn.SETTINGS");
|
private static final Intent INTENT_VPN_SETTINGS = new Intent("android.net.vpn.SETTINGS");
|
||||||
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
Util.setTheme(this);
|
||||||
setTheme(prefs.getBoolean("dark_theme", false) ? R.style.AppThemeDark : R.style.AppTheme);
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
getFragmentManager().beginTransaction().replace(android.R.id.content, new FragmentSettings()).commit();
|
getFragmentManager().beginTransaction().replace(android.R.id.content, new FragmentSettings()).commit();
|
||||||
getSupportActionBar().setTitle(R.string.menu_settings);
|
getSupportActionBar().setTitle(R.string.menu_settings);
|
||||||
}
|
}
|
||||||
|
@ -127,6 +125,17 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
Preference pref_screen_delay = screen.findPreference("screen_delay");
|
Preference pref_screen_delay = screen.findPreference("screen_delay");
|
||||||
pref_screen_delay.setTitle(getString(R.string.setting_delay, prefs.getString("screen_delay", "0")));
|
pref_screen_delay.setTitle(getString(R.string.setting_delay, prefs.getString("screen_delay", "0")));
|
||||||
|
|
||||||
|
// Handle theme
|
||||||
|
Preference pref_screen_theme = screen.findPreference("theme");
|
||||||
|
String theme = prefs.getString("theme", "teal");
|
||||||
|
String[] themeNames = getResources().getStringArray(R.array.themeNames);
|
||||||
|
String[] themeValues = getResources().getStringArray(R.array.themeValues);
|
||||||
|
for (int i = 0; i < themeNames.length; i++)
|
||||||
|
if (theme.equals(themeValues[i])) {
|
||||||
|
pref_screen_theme.setTitle(getString(R.string.setting_theme, themeNames[i]));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Handle stats
|
// Handle stats
|
||||||
EditTextPreference pref_stats_base = (EditTextPreference) screen.findPreference("stats_base");
|
EditTextPreference pref_stats_base = (EditTextPreference) screen.findPreference("stats_base");
|
||||||
EditTextPreference pref_stats_frequency = (EditTextPreference) screen.findPreference("stats_frequency");
|
EditTextPreference pref_stats_frequency = (EditTextPreference) screen.findPreference("stats_frequency");
|
||||||
|
@ -277,10 +286,10 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
@TargetApi(Build.VERSION_CODES.M)
|
@TargetApi(Build.VERSION_CODES.M)
|
||||||
public void onSharedPreferenceChanged(SharedPreferences prefs, String name) {
|
public void onSharedPreferenceChanged(SharedPreferences prefs, String name) {
|
||||||
// Pro features
|
// Pro features
|
||||||
if ("dark_theme".equals(name)) {
|
if ("theme".equals(name)) {
|
||||||
if (prefs.getBoolean(name, false) && !IAB.isPurchased(ActivityPro.SKU_THEME, this)) {
|
if (!"teal".equals(prefs.getString(name, "teal")) && !IAB.isPurchased(ActivityPro.SKU_THEME, this)) {
|
||||||
prefs.edit().putBoolean(name, false).apply();
|
prefs.edit().putString(name, "teal").apply();
|
||||||
((SwitchPreference) getPreferenceScreen().findPreference(name)).setChecked(false);
|
((ListPreference) getPreferenceScreen().findPreference(name)).setValue("teal");
|
||||||
startActivity(new Intent(this, ActivityPro.class));
|
startActivity(new Intent(this, ActivityPro.class));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -320,10 +329,11 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
else if ("screen_delay".equals(name))
|
else if ("screen_delay".equals(name))
|
||||||
getPreferenceScreen().findPreference(name).setTitle(getString(R.string.setting_delay, prefs.getString(name, "0")));
|
getPreferenceScreen().findPreference(name).setTitle(getString(R.string.setting_delay, prefs.getString(name, "0")));
|
||||||
|
|
||||||
else if ("dark_theme".equals(name))
|
else if ("theme".equals(name) || "dark_theme".equals(name)) {
|
||||||
|
SinkholeService.setTheme(this);
|
||||||
recreate();
|
recreate();
|
||||||
|
|
||||||
else if ("wifi_homes".equals(name)) {
|
} else if ("wifi_homes".equals(name)) {
|
||||||
MultiSelectListPreference pref_wifi_homes = (MultiSelectListPreference) getPreferenceScreen().findPreference(name);
|
MultiSelectListPreference pref_wifi_homes = (MultiSelectListPreference) getPreferenceScreen().findPreference(name);
|
||||||
Set<String> ssid = prefs.getStringSet(name, new HashSet<String>());
|
Set<String> ssid = prefs.getStringSet(name, new HashSet<String>());
|
||||||
if (ssid.size() > 0)
|
if (ssid.size() > 0)
|
||||||
|
@ -725,7 +735,7 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
else {
|
else {
|
||||||
// Pro features
|
// Pro features
|
||||||
if (current == application) {
|
if (current == application) {
|
||||||
if ("dark_theme".equals(key)) {
|
if ("theme".equals(key)) {
|
||||||
if (!IAB.isPurchased(ActivityPro.SKU_THEME, context))
|
if (!IAB.isPurchased(ActivityPro.SKU_THEME, context))
|
||||||
return;
|
return;
|
||||||
} else if ("show_stats".equals(key)) {
|
} else if ("show_stats".equals(key)) {
|
||||||
|
|
|
@ -116,8 +116,8 @@ public class Receiver extends BroadcastReceiver {
|
||||||
main.putExtra(ActivityMain.EXTRA_SEARCH, name);
|
main.putExtra(ActivityMain.EXTRA_SEARCH, name);
|
||||||
PendingIntent pi = PendingIntent.getActivity(context, 999, main, PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent pi = PendingIntent.getActivity(context, 999, main, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
|
|
||||||
|
Util.setTheme(context);
|
||||||
TypedValue tv = new TypedValue();
|
TypedValue tv = new TypedValue();
|
||||||
context.setTheme(prefs.getBoolean("dark_theme", false) ? R.style.AppThemeDark : R.style.AppTheme);
|
|
||||||
context.getTheme().resolveAttribute(R.attr.colorPrimary, tv, true);
|
context.getTheme().resolveAttribute(R.attr.colorPrimary, tv, true);
|
||||||
NotificationCompat.Builder notification = new NotificationCompat.Builder(context)
|
NotificationCompat.Builder notification = new NotificationCompat.Builder(context)
|
||||||
.setSmallIcon(R.drawable.ic_security_white_24dp)
|
.setSmallIcon(R.drawable.ic_security_white_24dp)
|
||||||
|
|
|
@ -105,7 +105,7 @@ public class SinkholeService extends VpnService {
|
||||||
private static final int MSG_STATS_STOP = 2;
|
private static final int MSG_STATS_STOP = 2;
|
||||||
private static final int MSG_STATS_UPDATE = 3;
|
private static final int MSG_STATS_UPDATE = 3;
|
||||||
|
|
||||||
public enum Command {start, reload, stop, stats, set}
|
public enum Command {start, reload, stop, stats, set, theme}
|
||||||
|
|
||||||
private static volatile PowerManager.WakeLock wlInstance = null;
|
private static volatile PowerManager.WakeLock wlInstance = null;
|
||||||
|
|
||||||
|
@ -245,6 +245,10 @@ public class SinkholeService extends VpnService {
|
||||||
case set:
|
case set:
|
||||||
set(intent);
|
set(intent);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case theme:
|
||||||
|
setTheme(intent);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update main view
|
// Update main view
|
||||||
|
@ -500,6 +504,12 @@ public class SinkholeService extends VpnService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setTheme(Intent intent) {
|
||||||
|
Util.setTheme(this);
|
||||||
|
stopForeground(true);
|
||||||
|
startForeground(NOTIFY_FOREGROUND, getForegroundNotification(0, 0));
|
||||||
|
}
|
||||||
|
|
||||||
private ParcelFileDescriptor startVPN() {
|
private ParcelFileDescriptor startVPN() {
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
|
|
||||||
|
@ -800,11 +810,9 @@ public class SinkholeService extends VpnService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
|
||||||
Log.i(TAG, "Create");
|
Log.i(TAG, "Create");
|
||||||
|
Util.setTheme(this);
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
super.onCreate();
|
||||||
setTheme(prefs.getBoolean("dark_theme", false) ? R.style.AppThemeDark : R.style.AppTheme);
|
|
||||||
|
|
||||||
HandlerThread thread = new HandlerThread(getString(R.string.app_name) + " handler");
|
HandlerThread thread = new HandlerThread(getString(R.string.app_name) + " handler");
|
||||||
thread.start();
|
thread.start();
|
||||||
|
@ -1003,6 +1011,15 @@ public class SinkholeService extends VpnService {
|
||||||
context.startService(intent);
|
context.startService(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setTheme(Context context) {
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
if (prefs.getBoolean("enabled", false)) {
|
||||||
|
Intent intent = new Intent(context, SinkholeService.class);
|
||||||
|
intent.putExtra(EXTRA_COMMAND, Command.theme);
|
||||||
|
context.startService(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void reloadStats(String reason, Context context) {
|
public static void reloadStats(String reason, Context context) {
|
||||||
Intent intent = new Intent(context, SinkholeService.class);
|
Intent intent = new Intent(context, SinkholeService.class);
|
||||||
intent.putExtra(EXTRA_COMMAND, Command.stats);
|
intent.putExtra(EXTRA_COMMAND, Command.stats);
|
||||||
|
|
|
@ -311,6 +311,16 @@ public class Util {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setTheme(Context context) {
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
boolean dark = prefs.getBoolean("dark_theme", false);
|
||||||
|
String theme = prefs.getString("theme", "teal");
|
||||||
|
if (theme.equals("teal"))
|
||||||
|
context.setTheme(dark ? R.style.AppThemeTealDark : R.style.AppThemeTeal);
|
||||||
|
else if (theme.equals("blue"))
|
||||||
|
context.setTheme(dark ? R.style.AppThemeBlueDark : R.style.AppThemeBlue);
|
||||||
|
}
|
||||||
|
|
||||||
public static int dips2pixels(int dips, Context context) {
|
public static int dips2pixels(int dips, Context context) {
|
||||||
return Math.round(dips * context.getResources().getDisplayMetrics().density + 0.5f);
|
return Math.round(dips * context.getResources().getDisplayMetrics().density + 0.5f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,21 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Teal 500 -->
|
<!-- Teal 500 -->
|
||||||
<color name="colorDefaultPrimary">#009688</color>
|
<color name="colorTealPrimary">#009688</color>
|
||||||
<!-- Teal 600-->
|
<!-- Teal 600-->
|
||||||
<color name="colorDefaultPrimaryDark">#00796B</color>
|
<color name="colorTealPrimaryDark">#00796B</color>
|
||||||
<!-- Deep orange A200 -->
|
<!-- Deep orange A200 -->
|
||||||
<color name="colorDefaultAccent">#FF5722</color>
|
<color name="colorTealAccent">#FF5722</color>
|
||||||
|
|
||||||
<color name="colorDefaultOn">#009688</color>
|
<color name="colorTealOn">#009688</color>
|
||||||
<color name="colorDefaultOff">#FF5722</color>
|
<color name="colorTealOff">#FF5722</color>
|
||||||
|
|
||||||
<color name="colorSend">#FF5722</color>
|
<color name="colorBluePrimary">#0066CC</color>
|
||||||
<color name="colorReceive">#009688</color>
|
<color name="colorBluePrimaryDark">#003366</color>
|
||||||
|
<color name="colorBlueAccent">#FF3333</color>
|
||||||
|
<color name="colorBlueOn">#0066CC</color>
|
||||||
|
<color name="colorBlueOff">#FF3333</color>
|
||||||
|
|
||||||
|
<color name="colorSend">#FF0000</color>
|
||||||
|
<color name="colorReceive">#0000FF</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -34,6 +34,7 @@ These issues are caused by bugs in Android, or in the software provided by the m
|
||||||
<string name="setting_system">Manage system applications</string>
|
<string name="setting_system">Manage system applications</string>
|
||||||
<string name="setting_auto">Auto enable after %1$s minutes</string>
|
<string name="setting_auto">Auto enable after %1$s minutes</string>
|
||||||
<string name="setting_delay">Delay screen off %1$s minutes</string>
|
<string name="setting_delay">Delay screen off %1$s minutes</string>
|
||||||
|
<string name="setting_theme">Theme: %1$s</string>
|
||||||
<string name="setting_dark">Use dark theme</string>
|
<string name="setting_dark">Use dark theme</string>
|
||||||
<string name="setting_wifi_home">Wi-Fi home networks: %1$s</string>
|
<string name="setting_wifi_home">Wi-Fi home networks: %1$s</string>
|
||||||
<string name="setting_metered">Handle metered Wi-Fi networks</string>
|
<string name="setting_metered">Handle metered Wi-Fi networks</string>
|
||||||
|
@ -107,5 +108,15 @@ Since NetGuard has no internet permission, you know your internet traffic is not
|
||||||
<string name="title_pro_challenge">Challenge</string>
|
<string name="title_pro_challenge">Challenge</string>
|
||||||
<string name="title_pro_reponse">Response</string>
|
<string name="title_pro_reponse">Response</string>
|
||||||
|
|
||||||
|
<string-array name="themeNames">
|
||||||
|
<item>Teal/Orange</item>
|
||||||
|
<item>Blue/Red</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="themeValues" translatable="false">
|
||||||
|
<item>teal</item>
|
||||||
|
<item>blue</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
<string name="fingerprint" translatable="false">ef46f813d2c8a064d72c936b9b96d1cccc989378</string>
|
<string name="fingerprint" translatable="false">ef46f813d2c8a064d72c936b9b96d1cccc989378</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -3,22 +3,42 @@
|
||||||
<attr name="colorOff" format="reference" />
|
<attr name="colorOff" format="reference" />
|
||||||
<attr name="expander" format="reference" />
|
<attr name="expander" format="reference" />
|
||||||
|
|
||||||
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
<style name="AppThemeTeal" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
<item name="colorPrimary">@color/colorDefaultPrimary</item>
|
<item name="colorPrimary">@color/colorTealPrimary</item>
|
||||||
<item name="colorPrimaryDark">@color/colorDefaultPrimaryDark</item>
|
<item name="colorPrimaryDark">@color/colorTealPrimaryDark</item>
|
||||||
<item name="colorAccent">@color/colorDefaultAccent</item>
|
<item name="colorAccent">@color/colorTealAccent</item>
|
||||||
<item name="colorOn">@color/colorDefaultOn</item>
|
<item name="colorOn">@color/colorTealOn</item>
|
||||||
<item name="colorOff">@color/colorDefaultOff</item>
|
<item name="colorOff">@color/colorTealOff</item>
|
||||||
<item name="expander">@drawable/expander_black</item>
|
<item name="expander">@drawable/expander_black</item>
|
||||||
<item name="android:windowDisablePreview">true</item>
|
<item name="android:windowDisablePreview">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="AppThemeDark" parent="Theme.AppCompat">
|
<style name="AppThemeTealDark" parent="Theme.AppCompat">
|
||||||
<item name="colorPrimary">@color/colorDefaultPrimary</item>
|
<item name="colorPrimary">@color/colorTealPrimary</item>
|
||||||
<item name="colorPrimaryDark">@color/colorDefaultPrimaryDark</item>
|
<item name="colorPrimaryDark">@color/colorTealPrimaryDark</item>
|
||||||
<item name="colorAccent">@color/colorDefaultAccent</item>
|
<item name="colorAccent">@color/colorTealAccent</item>
|
||||||
<item name="colorOn">@color/colorDefaultOn</item>
|
<item name="colorOn">@color/colorTealOn</item>
|
||||||
<item name="colorOff">@color/colorDefaultOff</item>
|
<item name="colorOff">@color/colorTealOff</item>
|
||||||
|
<item name="expander">@drawable/expander_white</item>
|
||||||
|
<item name="android:windowDisablePreview">true</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="AppThemeBlue" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
|
<item name="colorPrimary">@color/colorBluePrimary</item>
|
||||||
|
<item name="colorPrimaryDark">@color/colorBluePrimaryDark</item>
|
||||||
|
<item name="colorAccent">@color/colorBlueAccent</item>
|
||||||
|
<item name="colorOn">@color/colorBlueOn</item>
|
||||||
|
<item name="colorOff">@color/colorBlueOff</item>
|
||||||
|
<item name="expander">@drawable/expander_black</item>
|
||||||
|
<item name="android:windowDisablePreview">true</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="AppThemeBlueDark" parent="Theme.AppCompat">
|
||||||
|
<item name="colorPrimary">@color/colorBluePrimary</item>
|
||||||
|
<item name="colorPrimaryDark">@color/colorBluePrimaryDark</item>
|
||||||
|
<item name="colorAccent">@color/colorBlueAccent</item>
|
||||||
|
<item name="colorOn">@color/colorBlueOn</item>
|
||||||
|
<item name="colorOff">@color/colorBlueOff</item>
|
||||||
<item name="expander">@drawable/expander_white</item>
|
<item name="expander">@drawable/expander_white</item>
|
||||||
<item name="android:windowDisablePreview">true</item>
|
<item name="android:windowDisablePreview">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -42,6 +42,11 @@
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
android:key="screen_delay"
|
android:key="screen_delay"
|
||||||
android:summary="@string/summary_delay" />
|
android:summary="@string/summary_delay" />
|
||||||
|
<ListPreference
|
||||||
|
android:defaultValue="teal"
|
||||||
|
android:entries="@array/themeNames"
|
||||||
|
android:entryValues="@array/themeValues"
|
||||||
|
android:key="theme" />
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="dark_theme"
|
android:key="dark_theme"
|
||||||
|
|
Loading…
Reference in New Issue