From 488193a94e799f7edbc54d7d31273b3d98953302 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 --- .../owncloud/android/ui/preview/PreviewMediaFragment.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 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..5d9401aeb39e 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -82,6 +82,7 @@ import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.StringRes; +import androidx.fragment.app.Fragment; /** @@ -552,9 +553,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);