diff options
4 files changed, 56 insertions, 37 deletions
diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml index a0d57e5d..bde2ee6f 100755 --- a/org.fox.ttrss/src/main/AndroidManifest.xml +++ b/org.fox.ttrss/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.fox.ttrss" - android:versionCode="545" - android:versionName="1.311"> + android:versionCode="546" + android:versionName="1.312"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java index dff6fe41..906e2c1f 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java @@ -166,46 +166,61 @@ public class GalleryActivity extends CommonActivity { String cover = elem.attr("poster"); Element source = elem.select("source").first(); - String src = source.attr("src"); - //Log.d(TAG, "vid/src=" + src); + if (source != null) { + String src = source.attr("src"); - if (src.startsWith("//")) { - src = "https:" + src; - } + if (src.length() > 0) { + //Log.d(TAG, "vid/src=" + src); + + if (src.startsWith("//")) { + src = "https:" + src; + } + + if (imgSrcFirst.equals(src)) + firstFound = true; + + try { + Uri checkUri = Uri.parse(src); - if (imgSrcFirst.equals(src)) - firstFound = true; + if (!"data".equals(checkUri.getScheme().toLowerCase())) { + item.url = src; + item.coverUrl = cover; + item.type = GalleryEntry.GalleryEntryType.TYPE_VIDEO; + } - item.url = src; - item.coverUrl = cover; - item.type = GalleryEntry.GalleryEntryType.TYPE_VIDEO; + } catch (Exception e) { + e.printStackTrace(); + } + } + } } else { String src = elem.attr("src"); - if (src.startsWith("//")) { - src = "https:" + src; - } + if (src.length() > 0) { + if (src.startsWith("//")) { + src = "https:" + src; + } - if (imgSrcFirst.equals(src)) - firstFound = true; + if (imgSrcFirst.equals(src)) + firstFound = true; - Log.d(TAG, "img/fir=" + imgSrcFirst + ";"); - Log.d(TAG, "img/src=" + src + "; ff=" + firstFound); + Log.d(TAG, "img/fir=" + imgSrcFirst + ";"); + Log.d(TAG, "img/src=" + src + "; ff=" + firstFound); - try { - Uri checkUri = Uri.parse(src); + try { + Uri checkUri = Uri.parse(src); - if (!"data".equals(checkUri.getScheme().toLowerCase())) { - item.url = src; - item.type = GalleryEntry.GalleryEntryType.TYPE_IMAGE; - } + if (!"data".equals(checkUri.getScheme().toLowerCase())) { + item.url = src; + item.type = GalleryEntry.GalleryEntryType.TYPE_IMAGE; + } - } catch (Exception e) { - e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } } - } if ((firstFound || imgSrcFirst.equals("")) && item.url != null) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java index 470b0aac..d448117c 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java @@ -1161,13 +1161,15 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis if ("video".equals(flavorImage.tagName().toLowerCase())) { Element source = flavorImage.select("source").first(); - afi.flavorStreamUri = source.attr("src"); - afi.flavorImageUri = flavorImage.attr("poster"); + if (source != null) { + afi.flavorStreamUri = source.attr("src"); + afi.flavorImageUri = flavorImage.attr("poster"); + } } else { afi.flavorImageUri = flavorImage.attr("src"); - if (afi.flavorImageUri != null && afi.flavorImageUri.startsWith("//")) { + if (afi.flavorImageUri.length() > 0 && afi.flavorImageUri.startsWith("//")) { afi.flavorImageUri = "https:" + afi.flavorImageUri; } @@ -1183,13 +1185,13 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis } } - if (afi.flavorImageUri != null && ImageCacheService.isUrlCached(m_activity, afi.flavorImageUri)) { + if (afi.flavorImageUri != null && afi.flavorImageUri.length() > 0 && ImageCacheService.isUrlCached(m_activity, afi.flavorImageUri)) { afi.flavorImageUri = "file://" + ImageCacheService.getCacheFileName(m_activity, afi.flavorImageUri); } else { afi.flavorImageUri = null; } - if (afi.flavorStreamUri != null && ImageCacheService.isUrlCached(m_activity, afi.flavorStreamUri)) { + if (afi.flavorStreamUri != null && afi.flavorImageUri.length() > 0 && ImageCacheService.isUrlCached(m_activity, afi.flavorStreamUri)) { afi.flavorStreamUri = "file://" + ImageCacheService.getCacheFileName(m_activity, afi.flavorStreamUri); } else { afi.flavorStreamUri = null; 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 dbfe8a72..0a49252b 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 @@ -118,9 +118,11 @@ public class Article implements Parcelable { if ("video".equals(flavorImage.tagName().toLowerCase())) { Element source = flavorImage.select("source").first(); - flavorStreamUri = source.attr("src"); - flavorImageUri = flavorImage.attr("poster"); + if (source != null) { + flavorStreamUri = source.attr("src"); + flavorImageUri = flavorImage.attr("poster"); + } } else if ("iframe".equals(flavorImage.tagName().toLowerCase())) { String srcEmbed = flavorImage.attr("src"); @@ -139,7 +141,7 @@ public class Article implements Parcelable { } else { flavorImageUri = flavorImage.attr("src"); - if (flavorImageUri != null && flavorImageUri.startsWith("//")) { + if (flavorImageUri.length() > 0 && flavorImageUri.startsWith("//")) { flavorImageUri = "https:" + flavorImageUri; } @@ -155,7 +157,7 @@ public class Article implements Parcelable { } } - if (flavorImageUri == null) { + if (flavorImageUri == null || flavorImageUri.length() == 0) { // consider attachments if (attachments != null) { for (Attachment a : attachments) { |