Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2023-08-07 10:59:48 +0300
committerStefan Niedermann <info@niedermann.it>2023-09-04 17:36:42 +0300
commitdeabc9a81e3c630e8b7a0714bced2247f2c61784 (patch)
tree127b19d79fd41728bf044500ee8a7fb41999ad53 /app/src/main/java/it
parentec93ebc40f4073d31f613a4e4d669ea6d6bc856e (diff)
fix(attachments): Fix rare crash after attaching image to card
Refs: #1512 Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryAdapter.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryAdapter.java
index 2bd03011f..5407be884 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryAdapter.java
@@ -1,5 +1,10 @@
package it.niedermann.nextcloud.deck.ui.card.attachments.picker;
+import static android.os.Build.VERSION.SDK_INT;
+import static android.os.Build.VERSION_CODES.Q;
+import static android.provider.BaseColumns._ID;
+import static android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
+
import android.annotation.SuppressLint;
import android.content.ContentUris;
import android.content.Context;
@@ -14,6 +19,7 @@ import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
+import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleOwner;
import androidx.recyclerview.widget.RecyclerView;
@@ -25,11 +31,6 @@ import java.util.function.BiConsumer;
import it.niedermann.nextcloud.deck.databinding.ItemAttachmentImageBinding;
import it.niedermann.nextcloud.deck.databinding.ItemPhotoPreviewBinding;
-import static android.os.Build.VERSION.SDK_INT;
-import static android.os.Build.VERSION_CODES.Q;
-import static android.provider.BaseColumns._ID;
-import static android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
-
public class GalleryAdapter extends AbstractCursorPickerAdapter<RecyclerView.ViewHolder> {
@NonNull
@@ -81,8 +82,13 @@ public class GalleryAdapter extends AbstractCursorPickerAdapter<RecyclerView.Vie
contentResolver, id,
MediaStore.Images.Thumbnails.MINI_KIND, null);
}
- new Handler(Looper.getMainLooper()).post(() -> ((GalleryItemViewHolder) holder).bind(ContentUris.withAppendedId(
- EXTERNAL_CONTENT_URI, id), thumbnail, onSelect));
+ new Handler(Looper.getMainLooper()).post(() -> {
+ // https://github.com/stefan-niedermann/nextcloud-deck/issues/1512
+ if (lifecycleOwner.getLifecycle().getCurrentState() != Lifecycle.State.DESTROYED) {
+ ((GalleryItemViewHolder) holder).bind(ContentUris.withAppendedId(
+ EXTERNAL_CONTENT_URI, id), thumbnail, onSelect);
+ }
+ });
} catch (IOException ignored) {
new Handler(Looper.getMainLooper()).post(((GalleryItemViewHolder) holder)::bindError);
}