diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-19 15:40:40 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-19 15:40:40 +0300 |
| commit | d689a36fd46eefb2306980020080019bec12f027 (patch) | |
| tree | 22027c978d9dcd40a89c6db595bdbf133163b09e /org.fox.ttrss/src | |
| parent | 06c44ff7d5da3ef0040355c649e3ab97b295bd3d (diff) | |
add option to enable dynamic colors
Diffstat (limited to 'org.fox.ttrss/src')
6 files changed, 25 insertions, 4 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java index b4604632..17ae7ccf 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java @@ -5,6 +5,8 @@ import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; +import com.google.android.material.color.DynamicColors; + import org.acra.ACRA; import org.acra.config.CoreConfigurationBuilder; import org.acra.config.DialogConfigurationBuilder; @@ -41,6 +43,8 @@ public class Application extends android.app.Application { public final void onCreate() { super.onCreate(); + DynamicColors.applyToActivitiesIfAvailable(this); + m_singleton = this; m_cmgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); m_articleModel = new ArticleModel(this); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java index 12c74d2a..07c7a817 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java @@ -305,7 +305,10 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); } - setTheme(R.style.AppTheme); + if (prefs.getBoolean("enable_dynamic_colors", false)) + setTheme(R.style.AppTheme_Dynamic); + else + setTheme(R.style.AppTheme); } @Override @@ -316,7 +319,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc setAppTheme(sharedPreferences); } - String[] filter = new String[] { "enable_cats", "widget_update_interval", + String[] filter = new String[] { "enable_dynamic_colors", "enable_cats", "widget_update_interval", "headlines_swipe_to_dismiss", "headlines_mark_read_scroll", "headlines_request_size", "force_phone_layout", "open_on_startup", "window_secure_mode" }; diff --git a/org.fox.ttrss/src/main/res/values-night/themes.xml b/org.fox.ttrss/src/main/res/values-night/themes.xml index e11ef016..53c3e0b7 100644 --- a/org.fox.ttrss/src/main/res/values-night/themes.xml +++ b/org.fox.ttrss/src/main/res/values-night/themes.xml @@ -1,5 +1,8 @@ <resources> - <style name="AppTheme" parent="Theme.Material3.Dark.NoActionBar"> + <style name="AppTheme.Dynamic" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar"> + </style> + + <style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar"> <item name="windowActionModeOverlay">true</item> <item name="preferenceTheme">@style/AppPreferenceThemeOverlay</item> diff --git a/org.fox.ttrss/src/main/res/values/strings.xml b/org.fox.ttrss/src/main/res/values/strings.xml index 9512bc90..346a30c6 100755 --- a/org.fox.ttrss/src/main/res/values/strings.xml +++ b/org.fox.ttrss/src/main/res/values/strings.xml @@ -309,5 +309,7 @@ <string name="headlines_set_display_mode">Set display mode</string> <string name="window_secure_mode_summary">Disables screenshots and hides window contents on non-secure displays</string> <string name="window_secure_mode">Secure window mode</string> + <string name="enable_dynamic_colors_summary">Tints the UI according to color settings of your device</string> + <string name="enable_dynamic_colors">Dynamic colors</string> </resources> diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml index 15be8c17..53c3e0b7 100644 --- a/org.fox.ttrss/src/main/res/values/themes.xml +++ b/org.fox.ttrss/src/main/res/values/themes.xml @@ -1,6 +1,8 @@ <resources> + <style name="AppTheme.Dynamic" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar"> + </style> - <style name="AppTheme" parent="Theme.Material3.Light.NoActionBar"> + <style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar"> <item name="windowActionModeOverlay">true</item> <item name="preferenceTheme">@style/AppPreferenceThemeOverlay</item> diff --git a/org.fox.ttrss/src/main/res/xml/preferences.xml b/org.fox.ttrss/src/main/res/xml/preferences.xml index 9e1f6642..6ceec5cc 100755 --- a/org.fox.ttrss/src/main/res/xml/preferences.xml +++ b/org.fox.ttrss/src/main/res/xml/preferences.xml @@ -31,6 +31,7 @@ <PreferenceCategory android:key="category_look_and_feel" android:title="@string/look_and_feel" > + <ListPreference android:defaultValue="THEME_FOLLOW_DEVICE" android:entries="@array/pref_theme_names" @@ -40,6 +41,12 @@ <SwitchPreferenceCompat android:defaultValue="false" + android:key="enable_dynamic_colors" + android:summary="@string/enable_dynamic_colors_summary" + android:title="@string/enable_dynamic_colors" /> + + <SwitchPreferenceCompat + android:defaultValue="false" android:key="sort_feeds_by_unread" android:title="@string/sort_feeds_by_unread" /> |