From 54510e13f51917288adb6c64b8fcf9610ed3e346 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Thu, 4 May 2023 13:30:20 +0100 Subject: [PATCH] Add debounce/minimum length for add user search (#387) This functionality was already implemented, it just didn't have the right parameters configured for the user list presenter. Closes #109 --- .../createroom/impl/addpeople/AddPeoplePresenter.kt | 6 +++++- .../createroom/impl/root/CreateRoomRootPresenter.kt | 2 +- .../features/userlist/api/UserListPresenterArgs.kt | 9 +++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenter.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenter.kt index 6b2774a36e..50e84ebec6 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenter.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenter.kt @@ -35,7 +35,11 @@ class AddPeoplePresenter @Inject constructor( private val userListPresenter by lazy { userListPresenterFactory.create( - UserListPresenterArgs(selectionMode = SelectionMode.Multiple), + UserListPresenterArgs( + selectionMode = SelectionMode.Multiple, + minimumSearchLength = 3, + searchDebouncePeriodMillis = UserListPresenterArgs.DEFAULT_DEBOUNCE + ), userListDataSource, dataStore.selectedUserListDataStore, ) diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootPresenter.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootPresenter.kt index c7f3a11e5f..60056872db 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootPresenter.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootPresenter.kt @@ -49,7 +49,7 @@ class CreateRoomRootPresenter @Inject constructor( UserListPresenterArgs( selectionMode = SelectionMode.Single, minimumSearchLength = 3, - searchDebouncePeriodMillis = 500, + searchDebouncePeriodMillis = UserListPresenterArgs.DEFAULT_DEBOUNCE, ), userListDataSource, userListDataStore, diff --git a/features/userlist/api/src/main/kotlin/io/element/android/features/userlist/api/UserListPresenterArgs.kt b/features/userlist/api/src/main/kotlin/io/element/android/features/userlist/api/UserListPresenterArgs.kt index ffecb71ff0..e00aa89155 100644 --- a/features/userlist/api/src/main/kotlin/io/element/android/features/userlist/api/UserListPresenterArgs.kt +++ b/features/userlist/api/src/main/kotlin/io/element/android/features/userlist/api/UserListPresenterArgs.kt @@ -19,8 +19,13 @@ package io.element.android.features.userlist.api data class UserListPresenterArgs( val selectionMode: SelectionMode, val minimumSearchLength: Int = 1, - val searchDebouncePeriodMillis: Long = 0, -) + val searchDebouncePeriodMillis: Long = NO_DEBOUNCE, +) { + companion object { + const val NO_DEBOUNCE = 0L + const val DEFAULT_DEBOUNCE = 500L + } +} enum class SelectionMode { Single,