From d689a36fd46eefb2306980020080019bec12f027 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 19 May 2025 15:40:40 +0300 Subject: add option to enable dynamic colors --- org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java | 4 ++++ org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java | 7 +++++-- org.fox.ttrss/src/main/res/values-night/themes.xml | 5 ++++- org.fox.ttrss/src/main/res/values/strings.xml | 2 ++ org.fox.ttrss/src/main/res/values/themes.xml | 4 +++- org.fox.ttrss/src/main/res/xml/preferences.xml | 7 +++++++ 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 @@ - + + -