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-09 20:31:54 +0300
committerStefan Niedermann <info@niedermann.it>2020-11-09 20:31:54 +0300
commit1f06c44cf34cc62471c14e37fb1474fe0717e525 (patch)
treeaeaf4806d3b84b7ababf495ce00a01b870ccee28 /app/src/main/java/it
parentbb8246a890f0e5b8a80cc275d8276e1cdcc6025b (diff)
Fix concurrency issue with contact entries
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.java1
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java20
2 files changed, 11 insertions, 10 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 79da82338..a2ea6dd37 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
@@ -95,5 +95,6 @@ public abstract class AbstractCursorPickerAdapter<T extends RecyclerView.ViewHol
*/
public void onDestroy() {
cursor.close();
+ bindExecutor.shutdownNow();
}
}
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 79c65a560..22ac0c694 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
@@ -67,12 +67,12 @@ public class ContactAdapter extends AbstractCursorPickerAdapter<RecyclerView.Vie
break;
}
case VIEW_TYPE_ITEM: {
- bindExecutor.execute(() -> {
- final ContactItemViewHolder viewHolder = (ContactItemViewHolder) holder;
- if (!cursor.isClosed()) {
- cursor.moveToPosition(position - 1);
- final String displayName = cursor.getString(displayNameColumnIndex);
- final String lookupKey = cursor.getString(lookupKeyColumnIndex);
+ final ContactItemViewHolder viewHolder = (ContactItemViewHolder) holder;
+ if (!cursor.isClosed()) {
+ cursor.moveToPosition(position - 1);
+ final String displayName = cursor.getString(displayNameColumnIndex);
+ final String lookupKey = cursor.getString(lookupKeyColumnIndex);
+ bindExecutor.execute(() -> {
try (InputStream inputStream = ContactsContract.Contacts.openContactPhotoInputStream(contentResolver, Uri.withAppendedPath(CONTENT_LOOKUP_URI, lookupKey))) {
final Bitmap thumbnail = BitmapFactory.decodeStream(inputStream);
String contactInformation = "";
@@ -93,10 +93,10 @@ public class ContactAdapter extends AbstractCursorPickerAdapter<RecyclerView.Vie
} catch (IOException ignored) {
new Handler(Looper.getMainLooper()).post(viewHolder::bindError);
}
- } else {
- new Handler(Looper.getMainLooper()).post(viewHolder::bindError);
- }
- });
+ });
+ } else {
+ new Handler(Looper.getMainLooper()).post(viewHolder::bindError);
+ }
break;
}
}