From c7ed9d471d9f2d0006453d2ea68f8a336d7d5b37 Mon Sep 17 00:00:00 2001 From: Tommy DI LUNA Date: Mon, 27 May 2024 15:07:41 +0200 Subject: [PATCH] Fix tab inserting the toString of objects instead of autocompletion when sharing folder --- .../fileShare/AvailableShareableItemsAdapter.kt | 3 +++ .../java/com/infomaniak/drive/utils/Extensions.kt | 11 ++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/AvailableShareableItemsAdapter.kt b/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/AvailableShareableItemsAdapter.kt index 1d3b41e64d..c04e60c591 100644 --- a/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/AvailableShareableItemsAdapter.kt +++ b/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/AvailableShareableItemsAdapter.kt @@ -46,6 +46,7 @@ class AvailableShareableItemsAdapter( private var itemList: ArrayList, var notShareableIds: ArrayList = arrayListOf(), var notShareableEmails: ArrayList = arrayListOf(), + private val getCurrentText: () -> CharSequence, private val onItemClick: (item: Shareable) -> Unit, ) : ArrayAdapter(context, R.layout.item_user, itemList), Filterable { var initialList: ArrayList = ArrayList() @@ -159,6 +160,8 @@ class AvailableShareableItemsAdapter( notifyDataSetChanged() } } + + override fun convertResultToString(resultValue: Any?): CharSequence = getCurrentText() } } diff --git a/app/src/main/java/com/infomaniak/drive/utils/Extensions.kt b/app/src/main/java/com/infomaniak/drive/utils/Extensions.kt index 3ba897630c..8b993837b0 100644 --- a/app/src/main/java/com/infomaniak/drive/utils/Extensions.kt +++ b/app/src/main/java/com/infomaniak/drive/utils/Extensions.kt @@ -217,17 +217,18 @@ fun MaterialAutoCompleteTextView.setupAvailableShareableItems( itemList: List, notShareableIds: ArrayList = arrayListOf(), notShareableEmails: ArrayList = arrayListOf(), - onDataPassed: (item: Shareable) -> Unit + onDataPassed: (item: Shareable) -> Unit, ): AvailableShareableItemsAdapter { setDropDownBackgroundResource(R.drawable.background_popup) val availableUsersAdapter = AvailableShareableItemsAdapter( context = context, itemList = ArrayList(itemList), notShareableIds = notShareableIds, - notShareableEmails = notShareableEmails - ) { item -> - onDataPassed(item) - } + getCurrentText = { text }, + notShareableEmails = notShareableEmails, + onItemClick = onDataPassed, + ) + setAdapter(availableUsersAdapter) handleActionDone { !availableUsersAdapter.addFirstAvailableItem() }