summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-05-19 17:09:13 +0300
committerAndrew Dolgov <fox@fakecake.org>2025-05-19 17:09:13 +0300
commite89a39bbc84b5c36092c0cfaeb39395080ede018 (patch)
treeca7539d2ef7e14488997710d6cf4b9bdb5fb80f7 /org.fox.ttrss/src
parent158bf6bfdd802cc30cad78c871883b62e42979b5 (diff)
add option to disable icon tinting
Diffstat (limited to 'org.fox.ttrss/src')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java22
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java2
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java1
-rwxr-xr-xorg.fox.ttrss/src/main/res/values/strings.xml3
-rwxr-xr-xorg.fox.ttrss/src/main/res/xml/preferences.xml7
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