From 3df644e6a868b5a149c0701f90a7832175275cb1 Mon Sep 17 00:00:00 2001 From: lionel <> Date: Sat, 19 Feb 2022 04:44:00 +0100 Subject: [PATCH] Thumbnail support --- .../main/java/com/localtransfer/Transfer.java | 20 +++++++++++++++++++ .../fragment/DownloadFragment.java | 15 ++++++++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/localtransfer/Transfer.java b/app/src/main/java/com/localtransfer/Transfer.java index be528d7..ca08bdc 100644 --- a/app/src/main/java/com/localtransfer/Transfer.java +++ b/app/src/main/java/com/localtransfer/Transfer.java @@ -289,6 +289,26 @@ public class Transfer { return fileList; } + public InputStream getThumbnail(String href) { + InputStream thumbnail = null; + URL url; + try { + String query = URLEncoder.encode(href, StandardCharsets.UTF_8.toString()); + String serverUrl = root + "/thumbnail.php?file=" + query; + url = new URL(protocol, host, port, serverUrl); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + conn.setConnectTimeout(2000); + + conn.connect(); + + thumbnail = conn.getInputStream(); + } catch (IOException e) { + e.printStackTrace(); + } + return thumbnail; + } + public void downloadFile(final Uri uri, String name, long fileSize, String href, Button button) throws IOException { /*final LinearLayout layout = activity.findViewById(id); diff --git a/app/src/main/java/com/localtransfer/fragment/DownloadFragment.java b/app/src/main/java/com/localtransfer/fragment/DownloadFragment.java index 604f046..4681a0e 100644 --- a/app/src/main/java/com/localtransfer/fragment/DownloadFragment.java +++ b/app/src/main/java/com/localtransfer/fragment/DownloadFragment.java @@ -4,6 +4,8 @@ import android.animation.ObjectAnimator; import android.content.ActivityNotFoundException; import android.content.ContentValues; import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; @@ -208,14 +210,19 @@ public class DownloadFragment extends Fragment { switch (type) { case "file-image": - image.setImageResource(R.drawable.ic_icon_image); + case "file-video": + //image.setImageResource(R.drawable.ic_icon_image); + new Thread(() -> { + InputStream thumbnail = tr.getThumbnail(href); + Bitmap bitmap = BitmapFactory.decodeStream(thumbnail); + getActivity().runOnUiThread(() -> { + image.setImageBitmap(bitmap); + }); + }).start(); break; case "file-audio": image.setImageResource(R.drawable.ic_icon_music); break; - case "file-video": - image.setImageResource(R.drawable.ic_icon_video); - break; default: image.setImageResource(R.drawable.ic_icon_file); }