diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-06-01 07:34:00 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-06-01 14:57:25 +0200 |
commit | 32d669a661edec69f88f5d2646071de761b87630 (patch) | |
tree | c671e1583f9962373233e2c84c1409a91ea687dd /app/src/main/java/com/wireguard/android/Application.java | |
parent | global: fix theme situation and clean up cruft while adding more cruft (diff) | |
download | wireguard-android-32d669a661edec69f88f5d2646071de761b87630.tar.xz wireguard-android-32d669a661edec69f88f5d2646071de761b87630.zip |
theme: add dark theme with toggle
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/Application.java')
-rw-r--r-- | app/src/main/java/com/wireguard/android/Application.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/src/main/java/com/wireguard/android/Application.java b/app/src/main/java/com/wireguard/android/Application.java index 0066d930..b8562606 100644 --- a/app/src/main/java/com/wireguard/android/Application.java +++ b/app/src/main/java/com/wireguard/android/Application.java @@ -12,6 +12,7 @@ import android.os.AsyncTask; import android.os.Handler; import android.os.Looper; import android.preference.PreferenceManager; +import android.support.v7.app.AppCompatDelegate; import com.wireguard.android.backend.Backend; import com.wireguard.android.backend.GoBackend; @@ -22,6 +23,7 @@ import com.wireguard.android.model.TunnelManager; import com.wireguard.android.util.AsyncWorker; import com.wireguard.android.util.RootShell; import com.wireguard.android.util.ToolsInstaller; +import com.wireguard.android.util.Topic; import java.io.File; import java.util.concurrent.Executor; @@ -66,6 +68,8 @@ public class Application extends android.app.Application { ToolsInstaller getToolsInstaller(); TunnelManager getTunnelManager(); + + Topic getThemeChangeTopic(); } @Qualifier @@ -86,6 +90,10 @@ public class Application extends android.app.Application { private ApplicationModule(final Application application) { context = application.getApplicationContext(); + + AppCompatDelegate.setDefaultNightMode( + getPreferences(context).getBoolean("dark_theme", false) ? + AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO); } @ApplicationScope @@ -111,6 +119,12 @@ public class Application extends android.app.Application { return new FileConfigStore(context); } + @ApplicationScope + @Provides + public static Topic getThemeChangeTopic() { + return new Topic(); + } + @ApplicationScope @Provides |