diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-15 09:22:31 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-15 09:22:31 +0300 |
| commit | a30eded72dd8d8a5f5157343f250e9049f5b8cd9 (patch) | |
| tree | f06e1b5a3b03c22afebaf229c90215649e0dea4a /org.fox.ttrss | |
| parent | 4e01a8b95170f9fba2db3e314ad758636abe3b46 (diff) | |
use color tinting for starred actionbar icons
Diffstat (limited to 'org.fox.ttrss')
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java | 7 | ||||
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java | 27 |
2 files changed, 31 insertions, 3 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 b0a3d2d3..c6a2e757 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 @@ -14,6 +14,7 @@ import android.media.MediaPlayer; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.text.Html; @@ -889,7 +890,11 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { } if (holder.publishedView != null) { - holder.publishedView.setIconResource(article.published ? R.drawable.rss_box : R.drawable.rss); + + // otherwise we just use tinting in actionbar + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { + holder.publishedView.setIconResource(article.published ? R.drawable.rss_box : R.drawable.rss); + } if (article.published) holder.publishedView.setIconTint(ColorStateList.valueOf(tvTertiary.data)); 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 06503dc5..ffca776b 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 @@ -5,12 +5,15 @@ import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.content.res.ColorStateList; import android.graphics.Point; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.util.Log; +import android.util.TypedValue; import android.view.Display; import android.view.KeyEvent; import android.view.Menu; @@ -23,6 +26,7 @@ import android.widget.TextView; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.view.ActionMode; import androidx.appcompat.widget.Toolbar; +import androidx.core.content.ContextCompat; import androidx.preference.PreferenceManager; import com.google.android.material.dialog.MaterialAlertDialogBuilder; @@ -1181,11 +1185,30 @@ article.score = Integer.parseInt(edit.getText().toString()); Article article = Application.getArticles().getById(ap.getSelectedArticleId()); if (article != null) { + m_menu.findItem(R.id.toggle_marked).setIcon(article.marked ? R.drawable.baseline_star_24 : R.drawable.baseline_star_outline_24); - m_menu.findItem(R.id.toggle_published).setIcon(article.published ? R.drawable.rss_box : - R.drawable.baseline_rss_feed_24); + // TODO we probably shouldn't do this all the time + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + TypedValue tvTertiary = new TypedValue(); + getTheme().resolveAttribute(R.attr.colorTertiary, tvTertiary, true); + + ColorStateList colorStateTertiary = ColorStateList.valueOf(ContextCompat.getColor(this, tvTertiary.resourceId)); + + TypedValue tvNormal = new TypedValue(); + getTheme().resolveAttribute(R.attr.colorControlNormal, tvNormal, true); + + ColorStateList colorStateNormal = ColorStateList.valueOf(ContextCompat.getColor(this, tvNormal.resourceId)); + + m_menu.findItem(R.id.toggle_published).setIconTintList(article.published ? colorStateTertiary : colorStateNormal); + m_menu.findItem(R.id.toggle_marked).setIconTintList(article.marked ? colorStateTertiary : colorStateNormal); + + } else { + m_menu.findItem(R.id.toggle_published).setIcon(article.published ? R.drawable.rss_box : + R.drawable.baseline_rss_feed_24); + } + } } |