From 695fa66d417e0f00db1c20c6034201079340b4d5 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 7 May 2025 07:03:44 +0300 Subject: switch to static material3 colorset --- org.fox.ttrss/src/main/res/values/themes.xml | 86 ++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 org.fox.ttrss/src/main/res/values/themes.xml (limited to 'org.fox.ttrss/src/main/res/values/themes.xml') diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml new file mode 100644 index 00000000..54613ad9 --- /dev/null +++ b/org.fox.ttrss/src/main/res/values/themes.xml @@ -0,0 +1,86 @@ + + + -- cgit v1.2.3-54-g00ecf From 471404bfb1d01616f91037ea42fea72296f0652a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 7 May 2025 07:18:20 +0300 Subject: drop linkColor & fix article header padding --- org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java | 6 +++--- .../src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java | 6 +++--- org.fox.ttrss/src/main/res/layout/fragment_article.xml | 2 +- org.fox.ttrss/src/main/res/values-night/themes.xml | 1 - org.fox.ttrss/src/main/res/values/attrs.xml | 1 - org.fox.ttrss/src/main/res/values/themes.xml | 1 - 6 files changed, 7 insertions(+), 10 deletions(-) (limited to 'org.fox.ttrss/src/main/res/values/themes.xml') diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java index 86a68d5b..729aa7fd 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java @@ -485,10 +485,10 @@ public class ArticleFragment extends androidx.fragment.app.Fragment { String cssOverride = "body { color : "+textColor+"; }"; - TypedValue tvLinkColor = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.linkColor, tvLinkColor, true); + TypedValue tvColorPrimary = new TypedValue(); + getActivity().getTheme().resolveAttribute(R.attr.colorPrimary, tvColorPrimary, true); - String linkHexColor = String.format("#%06X", (0xFFFFFF & tvLinkColor.data)); + String linkHexColor = String.format("#%06X", (0xFFFFFF & tvColorPrimary.data)); cssOverride += " a:link {color: "+linkHexColor+";} a:visited { color: "+linkHexColor+";}"; String articleContent = m_article.content != null ? m_article.content : ""; diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java index 465c461d..aac19b51 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java @@ -333,10 +333,10 @@ public class OfflineArticleFragment extends Fragment { String cssOverride = "body { color : "+textColor+"; }"; - TypedValue tvLinkColor = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.linkColor, tvLinkColor, true); + TypedValue tvColorPrimary = new TypedValue(); + getActivity().getTheme().resolveAttribute(R.attr.colorPrimary, tvColorPrimary, true); - String linkHexColor = String.format("#%06X", (0xFFFFFF & tvLinkColor.data)); + String linkHexColor = String.format("#%06X", (0xFFFFFF & tvColorPrimary.data)); cssOverride += " a:link {color: "+linkHexColor+";} a:visited { color: "+linkHexColor+";}"; String articleContent = m_cursor.getString(m_cursor.getColumnIndex("content")); diff --git a/org.fox.ttrss/src/main/res/layout/fragment_article.xml b/org.fox.ttrss/src/main/res/layout/fragment_article.xml index f71ab5cc..ea244873 100755 --- a/org.fox.ttrss/src/main/res/layout/fragment_article.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_article.xml @@ -26,7 +26,7 @@ app:layout_scrollFlags="scroll|enterAlways" android:paddingTop="0dp" android:paddingStart="16dp" - android:paddingEnd="0dp" + android:paddingEnd="8dp" android:paddingBottom="8dp" android:id="@+id/article_header" android:layout_width="match_parent" 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 e5f738e1..a84ed131 100644 --- a/org.fox.ttrss/src/main/res/values-night/themes.xml +++ b/org.fox.ttrss/src/main/res/values-night/themes.xml @@ -29,7 +29,6 @@ @android:color/white #00FF00 #99000000 - #2d92c8 #bebebe #303030 #101010 diff --git a/org.fox.ttrss/src/main/res/values/attrs.xml b/org.fox.ttrss/src/main/res/values/attrs.xml index d0886639..f5fac361 100755 --- a/org.fox.ttrss/src/main/res/values/attrs.xml +++ b/org.fox.ttrss/src/main/res/values/attrs.xml @@ -5,7 +5,6 @@ - diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml index 54613ad9..1e348393 100644 --- a/org.fox.ttrss/src/main/res/values/themes.xml +++ b/org.fox.ttrss/src/main/res/values/themes.xml @@ -28,7 +28,6 @@ @android:color/black @android:color/black #008000 - ?colorPrimary #9a8c59 #fff7d5 #dddddd -- cgit v1.2.3-54-g00ecf From e6c3107189a296b817562462221e0165695196f7 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 7 May 2025 11:51:17 +0300 Subject: remove flavor image reparenting hacks, simplify headline row layout (somewhat), switch to materialcards --- .../main/java/org/fox/ttrss/HeadlinesFragment.java | 62 +----- .../src/main/res/layout/fragment_headlines.xml | 1 + .../main/res/layout/fragment_headlines_offline.xml | 4 + .../src/main/res/layout/headlines_row.xml | 217 ++++++++++---------- .../src/main/res/layout/headlines_row_unread.xml | 220 ++++++++++----------- org.fox.ttrss/src/main/res/values-night/themes.xml | 1 - org.fox.ttrss/src/main/res/values/attrs.xml | 1 - org.fox.ttrss/src/main/res/values/themes.xml | 1 - 8 files changed, 212 insertions(+), 295 deletions(-) (limited to 'org.fox.ttrss/src/main/res/values/themes.xml') 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 a843bf39..6cc92d87 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 @@ -44,6 +44,7 @@ import android.view.WindowManager; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.CheckBox; import android.widget.EditText; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ListView; import android.widget.PopupMenu; @@ -359,7 +360,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { m_layoutManager = new LinearLayoutManager(m_activity.getApplicationContext()); m_list.setLayoutManager(m_layoutManager); m_list.setItemAnimator(new DefaultItemAnimator()); - m_list.addItemDecoration(new DividerItemDecoration(m_list.getContext(), m_layoutManager.getOrientation())); ArticleListAdapter adapter = new ArticleListAdapter(getActivity(), R.layout.headlines_row, m_articles); @@ -1211,7 +1211,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { holder.flavorVideoKindView.setVisibility(View.GONE); holder.flavorImageOverflow.setVisibility(View.GONE); holder.flavorVideoView.setVisibility(View.GONE); - holder.headlineHeader.setBackgroundDrawable(null); Glide.clear(holder.flavorImageView); @@ -1291,24 +1290,15 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { //Log.d(TAG, "TAG:" + holder.flavorImageOverflow.getTag()); holder.flavorImageView.setVisibility(View.VISIBLE); + holder.flavorImageView.setMaxHeight((int)(m_screenHeight * 0.6f)); - holder.flavorImageView.setMaxHeight((int)(m_screenHeight * 0.8f)); - holder.flavorProgressTarget.setModel(article.flavorImageUri); - + // prevent lower listiew entries from jumping around if this row is modified if (article.flavorViewHeight > 0) { - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); + FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); lp.height = article.flavorViewHeight; - holder.flavorImageView.setLayoutParams(lp); } - - /* TODO: maybe an option? force height for all images to reduce list jumping around - - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); - lp.height = (int)(m_screenHeight * 0.5f); - lp.addRule(RelativeLayout.BELOW, R.id.headline_header); - holder.flavorImageView.setLayoutParams(lp); - */ + holder.flavorProgressTarget.setModel(article.flavorImageUri); try { @@ -1334,16 +1324,9 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { if (resource.getIntrinsicWidth() > FLAVOR_IMG_MIN_SIZE && resource.getIntrinsicHeight() > FLAVOR_IMG_MIN_SIZE) { - //holder.flavorImageView.setVisibility(View.VISIBLE); + holder.flavorImageView.setVisibility(View.VISIBLE); holder.flavorImageOverflow.setVisibility(View.VISIBLE); - boolean forceDown = !m_activity.isSmallScreen() || article.flavorImage != null && "video".equals(article.flavorImage.tagName().toLowerCase()); - - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); - lp.height = RelativeLayout.LayoutParams.WRAP_CONTENT; - holder.flavorImageView.setLayoutParams(lp); - - maybeRepositionFlavorImage(holder.flavorImageView, resource, holder, forceDown); adjustVideoKindView(holder, article); return false; @@ -1684,9 +1667,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { } else if (article.flavor_kind == Article.FLAVOR_KIND_VIDEO || "video".equals(article.flavorImage.tagName().toLowerCase())) { holder.flavorVideoKindView.setImageResource(R.drawable.baseline_play_circle_24); holder.flavorVideoKindView.setVisibility(View.VISIBLE); - } else if (article.flavor_kind == Article.FLAVOR_KIND_ALBUM ||article.mediaList.size() > 1) { - holder.flavorVideoKindView.setImageResource(R.drawable.baseline_photo_album_24); - holder.flavorVideoKindView.setVisibility(View.VISIBLE); } else { holder.flavorVideoKindView.setVisibility(View.INVISIBLE); } @@ -1707,36 +1687,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { return px; } - private void maybeRepositionFlavorImage(View view, GlideDrawable resource, ArticleViewHolder holder, boolean forceDown) { - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) view.getLayoutParams(); - - int w = resource.getIntrinsicWidth(); - int h = resource.getIntrinsicHeight(); - float r = h != 0 ? (float)w/h : 0; - - //Log.d(TAG, "XYR: " + pxToDp(w) + " " + pxToDp(h) + " " + r); - - if (forceDown || h < m_minimumHeightToEmbed || r >= 1) { - - lp.addRule(RelativeLayout.BELOW, R.id.headline_header); - - holder.headlineHeader.setBackgroundDrawable(null); - holder.flavorImageEmbedded = false; - - } else { - lp.addRule(RelativeLayout.BELOW, 0); - - TypedValue tv = new TypedValue(); - if (m_activity.getTheme().resolveAttribute(R.attr.headlineHeaderBackground, tv, true)) { - holder.headlineHeader.setBackgroundColor(tv.data); - } - - holder.flavorImageEmbedded = true; - } - - view.setLayoutParams(lp); - } - private void adjustTitleTextView(int score, TextView tv, int position) { int viewType = getItemViewType(position); if (origTitleColors[viewType] == null) diff --git a/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml b/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml index 9f09290f..22bed766 100755 --- a/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml @@ -12,6 +12,7 @@ diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row.xml b/org.fox.ttrss/src/main/res/layout/headlines_row.xml index d41e5b37..b43d0fbb 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row.xml @@ -1,8 +1,9 @@ - @@ -13,160 +14,143 @@ android:shrinkColumns="0,1" android:stretchColumns="0,1"> - - + android:clickable="true" + android:layout_span="2" + android:padding="16dp"> - + android:layout_height="wrap_content" + android:ellipsize="end" + android:maxLines="3" + android:paddingBottom="8dp" + android:singleLine="false" + android:textColor="?colorPrimary" + android:textSize="18sp" + android:textStyle="normal" + tools:text="Sample entry title which is overwhelmingly long blah blah blah" /> - + - + android:layout_weight="0.5" + android:ellipsize="middle" + android:fontFamily="sans-serif-light" + android:singleLine="true" + android:textAlignment="viewStart" + android:textColor="?colorSecondary" + android:textSize="12sp" + tools:text="Example Feed AAA AAA AAAAAA AAAA AAAAA AA A A AA AA" /> - + android:layout_weight="0.5" + android:ellipsize="none" + android:fontFamily="sans-serif-light" + android:singleLine="true" + android:textAlignment="viewEnd" + android:textColor="?colorSecondary" + android:textSize="12sp" + tools:text="Jan 01, 12:00, 1970" /> - + - + - + - + - + - + - + - + + app:tint="?colorTertiary" /> @@ -277,5 +261,4 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml index b00f344c..82baeec3 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml @@ -1,9 +1,10 @@ - @@ -14,160 +15,143 @@ android:shrinkColumns="0,1" android:stretchColumns="0,1"> - - + android:clickable="true" + android:layout_span="2" + android:padding="16dp"> - + android:layout_height="wrap_content" + android:ellipsize="end" + android:maxLines="3" + android:paddingBottom="8dp" + android:singleLine="false" + android:textColor="?colorOnSurface" + android:textSize="18sp" + android:textStyle="bold" + tools:text="Sample entry title which is overwhelmingly long blah blah blah" /> - + - + android:layout_weight="0.5" + android:ellipsize="middle" + android:fontFamily="sans-serif-light" + android:singleLine="true" + android:textAlignment="viewStart" + android:textColor="?colorSecondary" + android:textSize="12sp" + tools:text="Example Feed AAA AAA AAAAAA AAAA AAAAA AA A A AA AA" /> - + android:layout_weight="0.5" + android:ellipsize="none" + android:fontFamily="sans-serif-light" + android:singleLine="true" + android:textAlignment="viewEnd" + android:textColor="?colorSecondary" + android:textSize="12sp" + tools:text="Jan 01, 12:00, 1970" /> - + - + - + - + - + - + - + - + + app:tint="?colorTertiary" /> @@ -188,7 +172,6 @@ android:maxLines="5" android:padding="16dp" tools:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - android:textColor="?colorOnSurface" android:textSize="13sp" /> @@ -279,5 +262,4 @@ - - \ No newline at end of file + \ No newline at end of file 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 a84ed131..fc82117e 100644 --- a/org.fox.ttrss/src/main/res/values-night/themes.xml +++ b/org.fox.ttrss/src/main/res/values-night/themes.xml @@ -28,7 +28,6 @@ @android:color/white #00FF00 - #99000000 #bebebe #303030 #101010 diff --git a/org.fox.ttrss/src/main/res/values/attrs.xml b/org.fox.ttrss/src/main/res/values/attrs.xml index f5fac361..4b469913 100755 --- a/org.fox.ttrss/src/main/res/values/attrs.xml +++ b/org.fox.ttrss/src/main/res/values/attrs.xml @@ -3,7 +3,6 @@ - diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml index 1e348393..b5e5d313 100644 --- a/org.fox.ttrss/src/main/res/values/themes.xml +++ b/org.fox.ttrss/src/main/res/values/themes.xml @@ -24,7 +24,6 @@ @drawable/baseline_trending_down_24 @android:drawable/divider_horizontal_bright - #ccffffff @android:color/black @android:color/black #008000 -- cgit v1.2.3-54-g00ecf From 25a0a7bc4cc1731f33f77740c59491bb318e71a9 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 7 May 2025 17:19:59 +0300 Subject: set status bar color in light mode --- org.fox.ttrss/src/main/res/values/themes.xml | 3 +++ 1 file changed, 3 insertions(+) (limited to 'org.fox.ttrss/src/main/res/values/themes.xml') diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml index b5e5d313..16b29c9e 100644 --- a/org.fox.ttrss/src/main/res/values/themes.xml +++ b/org.fox.ttrss/src/main/res/values/themes.xml @@ -1,5 +1,8 @@ + \ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml index 9a8e3121..56899235 100644 --- a/org.fox.ttrss/src/main/res/values/themes.xml +++ b/org.fox.ttrss/src/main/res/values/themes.xml @@ -1,4 +1,5 @@ + + + + + + \ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml index 56899235..68a57811 100644 --- a/org.fox.ttrss/src/main/res/values/themes.xml +++ b/org.fox.ttrss/src/main/res/values/themes.xml @@ -2,6 +2,7 @@