diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-19 17:09:13 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-19 17:09:13 +0300 |
| commit | e89a39bbc84b5c36092c0cfaeb39395080ede018 (patch) | |
| tree | ca7539d2ef7e14488997710d6cf4b9bdb5fb80f7 /org.fox.ttrss/src | |
| parent | 158bf6bfdd802cc30cad78c871883b62e42979b5 (diff) | |
add option to disable icon tinting
Diffstat (limited to 'org.fox.ttrss/src')
5 files changed, 26 insertions, 9 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index a5eb7e95..c46743de 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -705,6 +705,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { private final int m_headlineSmallFontSize; private final int m_headlineFontSize; + private final boolean m_enableIconTinting; private final ConnectivityManager m_cmgr; @@ -760,6 +761,8 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { m_headlineFontSize = m_prefs.getInt("headlines_font_size_sp_int", 13); m_headlineSmallFontSize = Math.max(10, Math.min(18, m_headlineFontSize - 2)); + m_enableIconTinting = m_prefs.getBoolean("enable_icon_tinting", true); + m_cmgr = (ConnectivityManager) m_activity.getSystemService(Context.CONNECTIVITY_SERVICE); } @@ -1363,7 +1366,9 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { private void updateMarkedView(final Article article, final ArticleViewHolder holder) { if (holder.markedView != null) { holder.markedView.setIconResource(article.marked ? R.drawable.baseline_star_24 : R.drawable.baseline_star_outline_24); - holder.markedView.setIconTint(article.marked ? m_cslTertiary : m_cslPrimary); + + if (m_enableIconTinting) + holder.markedView.setIconTint(article.marked ? m_cslTertiary : m_cslPrimary); } } @@ -1393,21 +1398,24 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { holder.scoreView.setIconResource(scoreDrawable); - if (article.score > Article.SCORE_HIGH) - holder.scoreView.setIconTint(m_cslTertiary); - else - holder.scoreView.setIconTint(m_cslPrimary); + if (m_enableIconTinting) { + if (article.score > Article.SCORE_HIGH) + holder.scoreView.setIconTint(m_cslTertiary); + else + holder.scoreView.setIconTint(m_cslPrimary); + } } } private void updatePublishedView(final Article article, final ArticleViewHolder holder) { if (holder.publishedView != null) { // otherwise we just use tinting in actionbar - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O || !m_prefs.getBoolean("enable_icon_tinting", true)) { holder.publishedView.setIconResource(article.published ? R.drawable.rss_box : R.drawable.rss); } - holder.publishedView.setIconTint(article.published ? m_cslTertiary : m_cslPrimary); + if (m_enableIconTinting) + holder.publishedView.setIconTint(article.published ? m_cslTertiary : m_cslPrimary); } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java index a8541d38..934bca66 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java @@ -1193,7 +1193,7 @@ public class OnlineActivity extends CommonActivity { R.drawable.baseline_star_outline_24); // TODO we probably shouldn't do this all the time - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && m_prefs.getBoolean("enable_icon_tinting", true)) { TypedValue tvTertiary = new TypedValue(); getTheme().resolveAttribute(R.attr.colorTertiary, tvTertiary, true); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java index 2eaeae0d..c96948e6 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import androidx.annotation.Nullable; diff --git a/org.fox.ttrss/src/main/res/values/strings.xml b/org.fox.ttrss/src/main/res/values/strings.xml index 346a30c6..36d177c4 100755 --- a/org.fox.ttrss/src/main/res/values/strings.xml +++ b/org.fox.ttrss/src/main/res/values/strings.xml @@ -311,5 +311,6 @@ <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> - + <string name="enable_icon_tinting">Enable icon tinting</string> + <string name="enable_icon_tinting_summary">Disable if you have trouble distinguishing icons because of their color</string> </resources> diff --git a/org.fox.ttrss/src/main/res/xml/preferences.xml b/org.fox.ttrss/src/main/res/xml/preferences.xml index 6ceec5cc..19c718ca 100755 --- a/org.fox.ttrss/src/main/res/xml/preferences.xml +++ b/org.fox.ttrss/src/main/res/xml/preferences.xml @@ -80,6 +80,13 @@ android:key="window_secure_mode" android:summary="@string/window_secure_mode_summary" android:title="@string/window_secure_mode" /> + + <SwitchPreferenceCompat + android:defaultValue="true" + android:key="enable_icon_tinting" + android:summary="@string/enable_icon_tinting_summary" + android:title="@string/enable_icon_tinting" /> + </PreferenceCategory> <PreferenceCategory |