summaryrefslogtreecommitdiff
path: root/org.fox.ttrss
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-07-10 13:48:14 +0300
committerAndrew Dolgov <[email protected]>2015-07-10 13:48:14 +0300
commita5da507b58da3b0347ef0ff4ad04b2c7e28ad84b (patch)
tree7094c8c087f8fbc66f234ab0a213ff865c82037b /org.fox.ttrss
parentb30de39dd5e691fde7414b597db5cc89331d724e (diff)
add separate drawables for youtube and video links, better cover drawable
Diffstat (limited to 'org.fox.ttrss')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java41
-rw-r--r--org.fox.ttrss/src/main/res/drawable-hdpi/ic_play_circle.pngbin0 -> 889 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-hdpi/ic_youtube_play.pngbin807 -> 686 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xhdpi/ic_play_circle.pngbin0 -> 1186 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xhdpi/ic_youtube_play.pngbin1114 -> 883 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_play_circle.pngbin0 -> 1736 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_youtube_play.pngbin1476 -> 1233 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_play_circle.pngbin0 -> 2370 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_youtube_play.pngbin2153 -> 1667 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable/flavor_video_play.xml15
-rw-r--r--org.fox.ttrss/src/main/res/drawable/flavor_video_play_youtube.xml15
-rwxr-xr-xorg.fox.ttrss/src/main/res/layout/headlines_row.xml7
-rwxr-xr-xorg.fox.ttrss/src/main/res/layout/headlines_row_unread.xml3
13 files changed, 76 insertions, 5 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 45fb5480..94cf3c9d 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
@@ -74,6 +74,8 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.TimeZone;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
public class HeadlinesFragment extends Fragment implements OnItemClickListener, OnScrollListener {
public static enum ArticlesSelection { ALL, NONE, UNREAD }
@@ -1032,6 +1034,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
if (article.articleDoc != null && holder.flavorVideoPlayView != null) {
Element video = article.articleDoc.select("video").first();
+ Element ytframe = article.articleDoc.select("iframe[src*=youtube.com/embed/]").first();
if (video != null) {
try {
@@ -1040,7 +1043,9 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
final String streamUri = source.attr("src");
String posterUri = video.attr("poster");
- if (streamUri != null && posterUri != null) {
+ Log.d(TAG, posterUri);
+
+ if (streamUri.length() > 0 && posterUri.length() > 0) {
if (!posterUri.equals(holder.flavorImageView.getTag())) {
holder.flavorImageView.setTag(posterUri);
@@ -1055,6 +1060,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
holder.flavorImageLoadingBar.setVisibility(View.GONE);
holder.flavorImageView.setVisibility(View.VISIBLE);
holder.flavorVideoPlayView.setVisibility(View.VISIBLE);
+ holder.flavorVideoPlayView.setImageResource(R.drawable.flavor_video_play);
ViewCompat.setTransitionName(holder.flavorImageView, "TRANSITION:ARTICLE_VIDEO_PLAYER");
@@ -1082,6 +1088,39 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
e.printStackTrace();
videoFound = false;
}
+ } else if (ytframe != null) {
+ // thumb: http://img.youtube.com/vi/{VID}/mqdefault.jpg
+ String srcEmbed = ytframe.attr("src");
+
+ if (srcEmbed.length() > 0) {
+ Pattern pattern = Pattern.compile("/embed/([\\w-]+)");
+ Matcher matcher = pattern.matcher(srcEmbed);
+
+ if (matcher.find()) {
+ String vid = matcher.group(1);
+ String thumbUri = "http://img.youtube.com/vi/"+vid+"/mqdefault.jpg";
+ final String videoUri = "https://youtu.be/" + vid;
+
+ videoFound = true;
+
+ holder.flavorImageLoadingBar.setVisibility(View.GONE);
+ holder.flavorImageView.setVisibility(View.VISIBLE);
+ holder.flavorVideoPlayView.setVisibility(View.VISIBLE);
+ holder.flavorVideoPlayView.setImageResource(R.drawable.flavor_video_play_youtube);
+
+ ImageAware imageAware = new ImageViewAware(holder.flavorImageView, false);
+ m_imageLoader.displayImage(thumbUri, imageAware, displayImageOptions);
+
+ holder.flavorImageView.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(Intent.ACTION_VIEW,
+ Uri.parse(videoUri));
+ startActivity(intent);
+ }
+ });
+ }
+ }
}
}
diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_play_circle.png
new file mode 100644
index 00000000..51deabcc
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_play_circle.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_youtube_play.png
index 0005446b..0097d4b9 100644
--- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_youtube_play.png
+++ b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_youtube_play.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_play_circle.png
new file mode 100644
index 00000000..baef6ebf
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_play_circle.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_youtube_play.png
index 198f6cbb..e0e0cf78 100644
--- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_youtube_play.png
+++ b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_youtube_play.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_play_circle.png
new file mode 100644
index 00000000..6f1e3fa3
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_play_circle.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_youtube_play.png
index 76479288..adb6de98 100644
--- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_youtube_play.png
+++ b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_youtube_play.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_play_circle.png
new file mode 100644
index 00000000..a5a85200
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_play_circle.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_youtube_play.png
index 57058bf6..6f66d9c1 100644
--- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_youtube_play.png
+++ b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_youtube_play.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable/flavor_video_play.xml b/org.fox.ttrss/src/main/res/drawable/flavor_video_play.xml
new file mode 100644
index 00000000..bbc3c1e2
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable/flavor_video_play.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list
+ xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item>
+ <shape android:shape="rectangle">
+ <solid android:color="#90000000" />
+ </shape>
+ </item>
+
+ <item>
+ <bitmap android:src="@drawable/ic_play_circle"
+ android:gravity="center" />
+ </item>
+</layer-list> \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/res/drawable/flavor_video_play_youtube.xml b/org.fox.ttrss/src/main/res/drawable/flavor_video_play_youtube.xml
new file mode 100644
index 00000000..6f57ff0f
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable/flavor_video_play_youtube.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list
+ xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item>
+ <shape android:shape="rectangle">
+ <solid android:color="#90000000" />
+ </shape>
+ </item>
+
+ <item>
+ <bitmap android:src="@drawable/ic_youtube_play"
+ android:gravity="center" />
+ </item>
+</layer-list> \ No newline at end of file
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 cb7dfde1..330ebd70 100755
--- a/org.fox.ttrss/src/main/res/layout/headlines_row.xml
+++ b/org.fox.ttrss/src/main/res/layout/headlines_row.xml
@@ -93,10 +93,11 @@
<ImageView
android:id="@+id/flavor_video_play"
- android:layout_width="64dp"
- android:layout_height="64dp"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
android:layout_gravity="center"
- android:src="@drawable/ic_youtube_play"
+ android:scaleType="fitXY"
+ android:src="@drawable/flavor_video_play"
android:visibility="gone" />
<org.fox.ttrss.util.ArrowRight
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 26b02739..b6a1f097 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
@@ -98,7 +98,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
- android:src="@drawable/ic_youtube_play"
+ android:scaleType="fitXY"
+ android:src="@drawable/flavor_video_play"
android:visibility="gone" />
<org.fox.ttrss.util.ArrowRight