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>2020-11-07 18:16:37 +0300
committerStefan Niedermann <info@niedermann.it>2020-11-07 18:16:37 +0300
commitf36c1af2313e2ecee8264764e4d919f2e5179f17 (patch)
treebfcc1054762f7ba79863b5ff46eacee79a0778e3 /app/src/main/java/it
parent60a8a757affd8b7918dc3da11ee7c41725f345e8 (diff)
Make gallery tab more robust
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/AbstractCursorPickerAdapter.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractPickerAdapter.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryPhotoPreviewItemViewHolder.java2
6 files changed, 14 insertions, 9 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractCursorPickerAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractCursorPickerAdapter.java
index 743e3382e..79da82338 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractCursorPickerAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractCursorPickerAdapter.java
@@ -62,8 +62,8 @@ public abstract class AbstractCursorPickerAdapter<T extends RecyclerView.ViewHol
this.cursor = cursor;
this.cursor.moveToFirst();
this.columnIndex = this.cursor.getColumnIndex(idColumn);
- this.count = cursor.getCount();
- this.columnIndexType = (this.count > 0) ? this.cursor.getType(columnIndex) : FIELD_TYPE_NULL;
+ this.count = cursor.getCount() + 1;
+ this.columnIndexType = (this.count > 1) ? this.cursor.getType(columnIndex) : FIELD_TYPE_NULL;
setHasStableIds(true);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractPickerAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractPickerAdapter.java
index a17794841..901d204cd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractPickerAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/AbstractPickerAdapter.java
@@ -4,14 +4,19 @@ import androidx.recyclerview.widget.RecyclerView;
public abstract class AbstractPickerAdapter<T extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<T> {
+ protected static final int VIEW_TYPE_NONE = -1;
protected static final int VIEW_TYPE_ITEM = 0;
protected static final int VIEW_TYPE_ITEM_NATIVE = 1;
@Override
public int getItemViewType(int position) {
- return position == 0
- ? VIEW_TYPE_ITEM_NATIVE
- : VIEW_TYPE_ITEM;
+ if (position > 0) {
+ return VIEW_TYPE_ITEM;
+ } else if (position == 0) {
+ return VIEW_TYPE_ITEM_NATIVE;
+ } else {
+ return VIEW_TYPE_NONE;
+ }
}
/**
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java
index e334cc492..8ff11546c 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java
@@ -44,7 +44,7 @@ public class ContactAdapter extends AbstractCursorPickerAdapter<RecyclerView.Vie
super(context, onSelect, onSelectPicker, CONTENT_URI, _ID, new String[]{_ID, LOOKUP_KEY, DISPLAY_NAME}, SORT_KEY_PRIMARY);
lookupKeyColumnIndex = cursor.getColumnIndex(LOOKUP_KEY);
displayNameColumnIndex = cursor.getColumnIndex(DISPLAY_NAME);
- notifyItemRangeInserted(0, getItemCount());
+ notifyItemRangeInserted(0, getItemCount() + 1);
}
@NonNull
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileAdapter.java
index 46633df6c..aa96a0e69 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileAdapter.java
@@ -44,7 +44,7 @@ public class FileAdapter extends AbstractCursorPickerAdapter<RecyclerView.ViewHo
sizeColumnIndex = cursor.getColumnIndex(SIZE);
modifiedColumnIndex = cursor.getColumnIndex(DATE_MODIFIED);
mimeTypeColumnIndex = cursor.getColumnIndex(MIME_TYPE);
- notifyItemRangeInserted(0, getItemCount());
+ notifyItemRangeInserted(0, getItemCount() + 1);
}
@NonNull
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 7f5c254c3..1b4375ae8 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
@@ -43,7 +43,7 @@ public class GalleryAdapter extends AbstractCursorPickerAdapter<RecyclerView.Vie
public GalleryAdapter(@NonNull Context context, @NonNull BiConsumer<Uri, Pair<String, RequestBuilder<?>>> onSelect, @NonNull Runnable openNativePicker, @NonNull LifecycleOwner lifecycleOwner) {
super(context, onSelect, openNativePicker, EXTERNAL_CONTENT_URI, _ID, sortOrder + " DESC");
this.lifecycleOwner = lifecycleOwner;
- notifyItemRangeInserted(0, getItemCount());
+ notifyItemRangeInserted(0, getItemCount() + 1);
}
@NonNull
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryPhotoPreviewItemViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryPhotoPreviewItemViewHolder.java
index 1d665b76c..00a833e57 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryPhotoPreviewItemViewHolder.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryPhotoPreviewItemViewHolder.java
@@ -36,7 +36,7 @@ public class GalleryPhotoPreviewItemViewHolder extends RecyclerView.ViewHolder {
Preview previewUseCase = new Preview.Builder().build();
previewUseCase.setSurfaceProvider(binding.preview.getSurfaceProvider());
cameraProvider.bindToLifecycle(lifecycleOwner, DEFAULT_BACK_CAMERA, previewUseCase);
- } catch (ExecutionException | InterruptedException e) {
+ } catch (ExecutionException | InterruptedException | IllegalArgumentException e) {
DeckLog.logError(e);
}
}, ContextCompat.getMainExecutor(itemView.getContext()));