mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
Migrate EmojiPickerPresenter to assisted-factory pattern with EmptyGetRecentEmojis
This commit is contained in:
@@ -18,5 +18,5 @@ dependencies {
|
||||
implementation(projects.libraries.matrix.api)
|
||||
|
||||
implementation(libs.kotlinx.collections.immutable)
|
||||
implementation(libs.matrix.emojibase.bindings)
|
||||
api(libs.matrix.emojibase.bindings)
|
||||
}
|
||||
|
||||
+6
-1
@@ -8,5 +8,10 @@
|
||||
package io.element.android.libraries.emoji.api.picker
|
||||
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.emoji.api.recentemojis.GetRecentEmojis
|
||||
|
||||
fun interface EmojiPickerPresenter : Presenter<EmojiPickerState>
|
||||
fun interface EmojiPickerPresenter : Presenter<EmojiPickerState> {
|
||||
fun interface Factory {
|
||||
fun create(getRecentEmojis: GetRecentEmojis): EmojiPickerPresenter
|
||||
}
|
||||
}
|
||||
|
||||
+9
@@ -9,6 +9,7 @@
|
||||
package io.element.android.libraries.emoji.api.recentemojis
|
||||
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
||||
/**
|
||||
* Returns the list of recently used emojis for reactions.
|
||||
@@ -16,3 +17,11 @@ import kotlinx.collections.immutable.ImmutableList
|
||||
fun interface GetRecentEmojis {
|
||||
suspend operator fun invoke(): Result<ImmutableList<String>>
|
||||
}
|
||||
|
||||
/**
|
||||
* A [GetRecentEmojis] that never returns any recent emojis. Handy for pickers that don't want
|
||||
* a "Recent" tab (e.g. the user-status picker).
|
||||
*/
|
||||
object EmptyGetRecentEmojis : GetRecentEmojis {
|
||||
override suspend fun invoke(): Result<ImmutableList<String>> = Result.success(persistentListOf())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user