From 4d69eb750d463fbfb676902ff4473362be16b17b Mon Sep 17 00:00:00 2001 From: sspanak Date: Thu, 4 Apr 2024 19:06:31 +0300 Subject: [PATCH] enabled the status icon by default on Qin F21 --- .../screens/appearance/AppearanceScreen.java | 2 ++ .../screens/appearance/ItemStatusIcon.java | 23 +++++++++++++++++++ .../tt9/preferences/settings/SettingsUI.java | 6 ++++- .../github/sspanak/tt9/util/DeviceInfo.java | 7 ++++++ .../main/res/xml/prefs_screen_appearance.xml | 1 - 5 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemStatusIcon.java create mode 100644 app/src/main/java/io/github/sspanak/tt9/util/DeviceInfo.java diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/AppearanceScreen.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/AppearanceScreen.java index e1280f68..06d25afc 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/AppearanceScreen.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/AppearanceScreen.java @@ -24,5 +24,7 @@ public class AppearanceScreen extends BaseScreenFragment { .populate() .enableClickHandler() .preview(); + + (new ItemStatusIcon(findPreference(ItemStatusIcon.NAME), activity.getSettings())).populate(); } } diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemStatusIcon.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemStatusIcon.java new file mode 100644 index 00000000..17ce12f4 --- /dev/null +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemStatusIcon.java @@ -0,0 +1,23 @@ +package io.github.sspanak.tt9.preferences.screens.appearance; + +import androidx.preference.SwitchPreferenceCompat; + +import io.github.sspanak.tt9.preferences.settings.SettingsStore; + +public class ItemStatusIcon { + public static final String NAME = "pref_status_icon"; + + private SwitchPreferenceCompat item; + private SettingsStore settings; + + public ItemStatusIcon(SwitchPreferenceCompat item, SettingsStore settings) { + this.item = item; + this.settings = settings; + } + + public void populate() { + if (item != null) { + item.setChecked(settings.isStatusIconEnabled()); + } + } +} diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java index 69931b9c..fd41d175 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java @@ -5,6 +5,8 @@ import android.content.res.Configuration; import androidx.appcompat.app.AppCompatDelegate; +import io.github.sspanak.tt9.util.DeviceInfo; + public class SettingsUI extends SettingsTyping { public final static int LAYOUT_STEALTH = 0; public final static int LAYOUT_TRAY = 1; @@ -13,7 +15,9 @@ public class SettingsUI extends SettingsTyping { SettingsUI(Context context) { super(context); } - public boolean isStatusIconEnabled() { return prefs.getBoolean("pref_status_icon", false); } + public boolean isStatusIconEnabled() { + return prefs.getBoolean("pref_status_icon", DeviceInfo.isQinF21()); + } public boolean getDarkTheme() { int theme = getTheme(); diff --git a/app/src/main/java/io/github/sspanak/tt9/util/DeviceInfo.java b/app/src/main/java/io/github/sspanak/tt9/util/DeviceInfo.java new file mode 100644 index 00000000..e60498ef --- /dev/null +++ b/app/src/main/java/io/github/sspanak/tt9/util/DeviceInfo.java @@ -0,0 +1,7 @@ +package io.github.sspanak.tt9.util; + +public class DeviceInfo { + public static boolean isQinF21() { + return android.os.Build.MANUFACTURER.equals("DuoQin") && android.os.Build.MODEL.contains("F21"); + } +} diff --git a/app/src/main/res/xml/prefs_screen_appearance.xml b/app/src/main/res/xml/prefs_screen_appearance.xml index 5f475f85..63c26b06 100644 --- a/app/src/main/res/xml/prefs_screen_appearance.xml +++ b/app/src/main/res/xml/prefs_screen_appearance.xml @@ -17,7 +17,6 @@