From 87bbee6bec578c608efca50c59834bc624452ba1 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 3 May 2018 21:58:55 +0300 Subject: fix gallery view not opening properly for attachments --- org.fox.ttrss/src/main/AndroidManifest.xml | 4 ++-- .../main/java/org/fox/ttrss/HeadlinesFragment.java | 27 +++++++++++++++++++++- .../src/main/java/org/fox/ttrss/types/Article.java | 4 ++++ 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml index 94e8ee1f..6c784008 100755 --- a/org.fox.ttrss/src/main/AndroidManifest.xml +++ b/org.fox.ttrss/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="474" + android:versionName="1.240"> 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 3482cec1..71d8a3f4 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 @@ -73,9 +73,12 @@ import com.shamanland.fab.ShowHideOnScroll; import org.fox.ttrss.glide.ProgressTarget; import org.fox.ttrss.types.Article; import org.fox.ttrss.types.ArticleList; +import org.fox.ttrss.types.Attachment; import org.fox.ttrss.types.Feed; import org.fox.ttrss.util.HeaderViewRecyclerAdapter; import org.fox.ttrss.util.HeadlinesRequest; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -1574,7 +1577,29 @@ public class HeadlinesFragment extends StateSavedFragment { intent.putExtra("firstSrc", article.flavorStreamUri != null ? article.flavorStreamUri : article.flavorImageUri); intent.putExtra("title", article.title); - intent.putExtra("content", article.content); + + // FIXME maybe: gallery view works with document as html, it's easier to add this hack rather than + // rework it to additionally operate on separate attachment array (?) + // also, maybe consider video attachments? kinda hard to do without a poster tho (for flavor view) + + String tempContent = article.content; + + if (article.attachments != null) { + Document doc = new Document(""); + + for (Attachment a : article.attachments) { + if (a.content_type != null) { + if (a.content_type.contains("image/")) { + Element img = new Element("img").attr("src", a.content_url); + doc.appendChild(img); + } + } + } + + tempContent = doc.outerHtml() + tempContent; + } + + intent.putExtra("content", tempContent); ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(m_activity, diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Article.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Article.java index 3b2f8e6f..da58dabe 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Article.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Article.java @@ -78,6 +78,10 @@ public class Article implements Parcelable { flavorImageUri = "https:" + flavorImageUri; } + // this is needed for the gallery view + flavorImage = new Element("img") + .attr("src", flavorImageUri); + break; } } -- cgit v1.2.3