diff options
author | Andrew Dolgov <[email protected]> | 2015-07-10 13:48:14 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2015-07-10 13:48:14 +0300 |
commit | a5da507b58da3b0347ef0ff4ad04b2c7e28ad84b (patch) | |
tree | 7094c8c087f8fbc66f234ab0a213ff865c82037b /org.fox.ttrss | |
parent | b30de39dd5e691fde7414b597db5cc89331d724e (diff) |
add separate drawables for youtube and video links, better cover drawable
Diffstat (limited to 'org.fox.ttrss')
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 Binary files differnew file mode 100644 index 00000000..51deabcc --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_play_circle.png 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 Binary files differindex 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 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 Binary files differnew file mode 100644 index 00000000..baef6ebf --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_play_circle.png 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 Binary files differindex 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 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 Binary files differnew file mode 100644 index 00000000..6f1e3fa3 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_play_circle.png 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 Binary files differindex 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 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 Binary files differnew file mode 100644 index 00000000..a5a85200 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_play_circle.png 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 Binary files differindex 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 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 |