From 2513a2f305fb3f69cf3f2aa06468d09c1d5921ad Mon Sep 17 00:00:00 2001 From: tom79 Date: Tue, 17 Dec 2019 16:37:21 +0100 Subject: [PATCH] media in notifications --- app/src/main/AndroidManifest.xml | 1 + .../fedilab/android/activities/SlideMediaActivity.java | 10 +++++++++- .../app/fedilab/android/client/HttpsConnection.java | 7 +++++-- .../android/fragments/DisplayStatusFragment.java | 3 +++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c8918bc95..bda37587e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -41,6 +41,7 @@ android:required="false" /> = 23) { + if (ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + ActivityCompat.requestPermissions(SlideMediaActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, Helper.EXTERNAL_STORAGE_REQUEST_CODE); + } else { + Helper.manageMove(SlideMediaActivity.this, attachment.getUrl(), false); + } + } else { + Helper.manageMove(SlideMediaActivity.this, attachment.getUrl(), false); + } }else { if (Build.VERSION.SDK_INT >= 23) { if (ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(SlideMediaActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { diff --git a/app/src/main/java/app/fedilab/android/client/HttpsConnection.java b/app/src/main/java/app/fedilab/android/client/HttpsConnection.java index f4929a5bf..a5da8ac1f 100644 --- a/app/src/main/java/app/fedilab/android/client/HttpsConnection.java +++ b/app/src/main/java/app/fedilab/android/client/HttpsConnection.java @@ -202,7 +202,8 @@ public class HttpsConnection { .url(httpBuider.build()) .build(); - try (Response httpresponse = client.newCall(requesthttp).execute()) { + try { + Response httpresponse = client.newCall(requesthttp).execute(); assert httpresponse.body() != null; String response = httpresponse.body().string(); int code = httpresponse.code(); @@ -213,7 +214,8 @@ public class HttpsConnection { } else { throw new HttpsConnectionException(code, error); } - } finally { + } catch (Exception ignored){} + finally { if (!cache.isClosed()) { try { cache.close(); @@ -222,6 +224,7 @@ public class HttpsConnection { } } } + return null; }else{ if (proxy != null) diff --git a/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java b/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java index ec9e48d9e..786da6001 100644 --- a/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java +++ b/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java @@ -145,6 +145,9 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn @Override @NonNull public List getPreloadItems(int position) { + if( statuses == null || statuses.size() == 0){ + return Collections.emptyList(); + } Status status = statuses.get(position); if (status.getMedia_attachments() == null || status.getMedia_attachments().size() ==0) { return Collections.emptyList();