From 96b44c1771c528264cc1e83b725bfc8a96e7cc73 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sat, 12 Oct 2019 14:58:47 +0200 Subject: Activity: make dark/night theme follow system on Q Signed-off-by: Jason A. Donenfeld --- .../main/java/com/wireguard/android/activity/SettingsActivity.java | 6 +++++- .../com/wireguard/android/activity/ThemeChangeAwareActivity.java | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/com/wireguard/android/activity') diff --git a/app/src/main/java/com/wireguard/android/activity/SettingsActivity.java b/app/src/main/java/com/wireguard/android/activity/SettingsActivity.java index 475c579e..89ba0c12 100644 --- a/app/src/main/java/com/wireguard/android/activity/SettingsActivity.java +++ b/app/src/main/java/com/wireguard/android/activity/SettingsActivity.java @@ -6,6 +6,7 @@ package com.wireguard.android.activity; import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.core.app.ActivityCompat; @@ -91,13 +92,16 @@ public class SettingsActivity extends ThemeChangeAwareActivity { @Override public void onCreatePreferences(final Bundle savedInstanceState, final String key) { addPreferencesFromResource(R.xml.preferences); + final PreferenceScreen screen = getPreferenceScreen(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) + screen.removePreference(getPreferenceManager().findPreference("dark_theme")); + final Preference wgQuickOnlyPrefs[] = { getPreferenceManager().findPreference("tools_installer"), getPreferenceManager().findPreference("restore_on_boot") }; for (final Preference pref : wgQuickOnlyPrefs) pref.setVisible(false); - final PreferenceScreen screen = getPreferenceScreen(); Application.getBackendAsync().thenAccept(backend -> { for (final Preference pref : wgQuickOnlyPrefs) { if (backend instanceof WgQuickBackend) diff --git a/app/src/main/java/com/wireguard/android/activity/ThemeChangeAwareActivity.java b/app/src/main/java/com/wireguard/android/activity/ThemeChangeAwareActivity.java index 0309722c..977f64ea 100644 --- a/app/src/main/java/com/wireguard/android/activity/ThemeChangeAwareActivity.java +++ b/app/src/main/java/com/wireguard/android/activity/ThemeChangeAwareActivity.java @@ -7,6 +7,7 @@ package com.wireguard.android.activity; import android.content.SharedPreferences; import android.content.res.Resources; +import android.os.Build; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; @@ -55,12 +56,14 @@ public abstract class ThemeChangeAwareActivity extends AppCompatActivity impleme @Override protected void onCreate(@Nullable final Bundle savedInstanceState) { super.onCreate(savedInstanceState); - Application.getSharedPreferences().registerOnSharedPreferenceChangeListener(this); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) + Application.getSharedPreferences().registerOnSharedPreferenceChangeListener(this); } @Override protected void onDestroy() { - Application.getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) + Application.getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this); super.onDestroy(); } -- cgit v1.2.3