From 90cc311adb71440ada0b28d4a9e41a16d9deb531 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 6 Sep 2015 16:13:48 +0300 Subject: do not crash on video elements w/o source --- .../src/main/java/org/fox/ttrss/types/Article.java | 39 +++++++++++++--------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'org.fox.ttrss/src/main/java') 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 fe875c87..19a02bd5 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 @@ -83,28 +83,37 @@ public class Article implements Parcelable { if (flavorImage != null) { - if ("video".equals(flavorImage.tagName().toLowerCase())) { - Element source = flavorImage.select("source").first(); - flavorStreamUri = source.attr("src"); + try { - flavorImageUri = flavorImage.attr("poster"); - } else if ("iframe".equals(flavorImage.tagName().toLowerCase())) { + if ("video".equals(flavorImage.tagName().toLowerCase())) { + Element source = flavorImage.select("source").first(); + flavorStreamUri = source.attr("src"); - String srcEmbed = flavorImage.attr("src"); + flavorImageUri = flavorImage.attr("poster"); + } else if ("iframe".equals(flavorImage.tagName().toLowerCase())) { - if (srcEmbed.length() > 0) { - Pattern pattern = Pattern.compile("/embed/([\\w-]+)"); - Matcher matcher = pattern.matcher(srcEmbed); + String srcEmbed = flavorImage.attr("src"); - if (matcher.find()) { - youtubeVid = matcher.group(1); + if (srcEmbed.length() > 0) { + Pattern pattern = Pattern.compile("/embed/([\\w-]+)"); + Matcher matcher = pattern.matcher(srcEmbed); - flavorImageUri = "https://img.youtube.com/vi/" + youtubeVid + "/mqdefault.jpg"; - flavorStreamUri = "https://youtu.be/" + youtubeVid; + if (matcher.find()) { + youtubeVid = matcher.group(1); + + flavorImageUri = "https://img.youtube.com/vi/" + youtubeVid + "/mqdefault.jpg"; + flavorStreamUri = "https://youtu.be/" + youtubeVid; + } } + } else { + flavorImageUri = flavorImage.attr("src"); + flavorStreamUri = null; } - } else { - flavorImageUri = flavorImage.attr("src"); + } catch (Exception e) { + e.printStackTrace(); + + flavorImage = null; + flavorImageUri = null; flavorStreamUri = null; } } -- cgit v1.2.3-54-g00ecf