From 7ef898192af45e83ed66d8d4c28c00c5287140d9 Mon Sep 17 00:00:00 2001 From: Chris Narkiewicz Date: Sat, 28 Sep 2019 23:06:32 +0100 Subject: [PATCH] Fix NPE in PreviewMediaFragment Fragment can be detached before async task finishes. Detached fragment has no context and getString() fails with NPE. Fixes #4412 Signed-off-by: Chris Narkiewicz Signed-off-by: tobiasKaminsky --- .../owncloud/android/ui/preview/PreviewMediaFragment.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java b/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java index d6cba983b279..8265d939e392 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -83,7 +83,6 @@ import androidx.annotation.NonNull; import androidx.annotation.StringRes; - /** * This fragment shows a preview of a downloaded media file (audio or video). * @@ -552,9 +551,9 @@ protected Uri doInBackground(String... fileId) { @Override protected void onPostExecute(Uri uri) { - PreviewMediaFragment previewMediaFragment = previewMediaFragmentWeakReference.get(); - - if (previewMediaFragment != null) { + final PreviewMediaFragment previewMediaFragment = previewMediaFragmentWeakReference.get(); + final Context context = previewMediaFragment != null ? previewMediaFragment.getContext() : null; + if (previewMediaFragment != null && context != null) { if (uri != null) { previewMediaFragment.mVideoUri = uri; previewMediaFragment.mVideoPreview.setVideoURI(uri);