From 128f1fb05374dfb0f2cc9a05cab140d655434172 Mon Sep 17 00:00:00 2001 From: sadr0b0t Date: Sun, 22 Nov 2020 16:16:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=93=D1=80=D1=83=D0=B7=D0=B8=D1=82=D1=8C=20?= =?UTF-8?q?=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA=D0=B8=20=D0=B2=D0=B8=D0=B4=D0=B5?= =?UTF-8?q?=D0=BE=20=D0=B1=D0=BE=D0=BB=D0=B5=D0=B5=20=D0=B2=D1=8B=D1=81?= =?UTF-8?q?=D0=BE=D0=BA=D0=BE=D0=B3=D0=BE=20=D0=BA=D0=B0=D1=87=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D0=B0,=20=D1=87=D1=82=D0=BE=D0=B1=D1=8B=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B3=D0=BB=D1=8F=D0=B4=D0=B5=D0=BB=D0=BE=20=D0=BD=D0=BE?= =?UTF-8?q?=D1=80=D0=BC=20=D0=BD=D0=B0=20=D0=BF=D0=BB=D0=B0=D0=BD=D1=88?= =?UTF-8?q?=D0=B5=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yashlang/controller/VideoThumbManager.java | 11 +++++------ .../su/sadrobot/yashlang/util/PlaylistUrlUtil.java | 10 ++++++++++ .../main/res/layout-xlarge/video_list_item_hor.xml | 6 +++--- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/su/sadrobot/yashlang/controller/VideoThumbManager.java b/app/src/main/java/su/sadrobot/yashlang/controller/VideoThumbManager.java index 0d9f86a..a49d127 100644 --- a/app/src/main/java/su/sadrobot/yashlang/controller/VideoThumbManager.java +++ b/app/src/main/java/su/sadrobot/yashlang/controller/VideoThumbManager.java @@ -34,6 +34,7 @@ import su.sadrobot.yashlang.R; import su.sadrobot.yashlang.model.VideoItem; +import su.sadrobot.yashlang.util.PlaylistUrlUtil; public class VideoThumbManager { private static VideoThumbManager _instance; @@ -47,8 +48,6 @@ public static VideoThumbManager getInstance() { private VideoThumbManager() { } - private Map thumbCache = new HashMap(); - //private static final String THUMB_URL_TEMPLATE = "https://img.youtube.com/vi/%id%/sddefault.jpg"; private static final String THUMB_URL_TEMPLATE = "https://img.youtube.com/vi/%id%/default.jpg"; @@ -59,8 +58,6 @@ private VideoThumbManager() { // http://img.youtube.com/vi//maxresdefault.jpg - private Bitmap defaultThumb = null;//BitmapFactory.decodeResource(R.drawable.bug1); - public Bitmap loadBitmap(final String url) throws IOException { final HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); @@ -128,14 +125,16 @@ public Bitmap loadVideoThumb(final String ytId) throws IOException { * чтобы было понятно, что произошло. * * Загрузить картинку с превью видео или вернуть картинку по умолчанию. + * @param context * @param vid * @return */ public Bitmap loadVideoThumb(final Context context, final VideoItem vid) { Bitmap thumb = null; try { - //thumb = loadVideoThumb(vid.getYtId()); - thumb = loadBitmap(vid.getThumbUrl()); + // Будем грузить для роликов YouTube иконку большего размера (так будет лучше на планшетах), + // для PeerTube ссылка останется без изменений + thumb = loadBitmap(PlaylistUrlUtil.fixYtVideoThumbSize(vid.getThumbUrl())); } catch (IOException e) { //thumb = defaultThumb; // default thumb //e.printStackTrace(); diff --git a/app/src/main/java/su/sadrobot/yashlang/util/PlaylistUrlUtil.java b/app/src/main/java/su/sadrobot/yashlang/util/PlaylistUrlUtil.java index a1d5697..facb411 100644 --- a/app/src/main/java/su/sadrobot/yashlang/util/PlaylistUrlUtil.java +++ b/app/src/main/java/su/sadrobot/yashlang/util/PlaylistUrlUtil.java @@ -118,4 +118,14 @@ public static String fixYtChannelAvatarSize(final String iconUrl) { // У нас иконки примерно 100x100 везде, но будем брать с запасом 240x240, чтобы хайрез return iconUrl.replace("=s48-", "=s240-"); } + + public static String fixYtVideoThumbSize(final String thumbUrl) { + // NewPipeExtractor возвращает иконку для видео такую: + // https://i.ytimg.com/vi/pevcwilRM8o/hqdefault.jpg?sqp=-oaymwEYCKgBEF5IVfKriqkDCwgBFQAAiEIYAXAB&rs=AOn4CLB8Bx4_LmDq7dowwMZPclW_qixhbQ + // на сайте ютюб эту же иконку даёт в таком варианте: + // https://i.ytimg.com/vi/pevcwilRM8o/mqdefault.jpg?sqp=-oaymwEYCKgBEF5IVfKriqkDCwgBFQAAiEIYAXAB&rs=AOn4CLB8Bx4_LmDq7dowwMZPclW_qixhbQ + // отличие только "hquedefault" и "mquedefault" + // второй вариант лучше 1-го, на телефоне маленький вариант еще ок, но на планшете уже не ок + return thumbUrl.replace("hquedefault", "mquedefault"); + } } diff --git a/app/src/main/res/layout-xlarge/video_list_item_hor.xml b/app/src/main/res/layout-xlarge/video_list_item_hor.xml index 128889d..dc483c7 100644 --- a/app/src/main/res/layout-xlarge/video_list_item_hor.xml +++ b/app/src/main/res/layout-xlarge/video_list_item_hor.xml @@ -11,8 +11,8 @@ @@ -32,7 +32,7 @@