Call WheelPicker onSelectionChanged with initial value

Fixes #10157

We realistically only ever use the picker in contexts where we later
confirm or cancel with the selected value, so this is fine. If the caller
wants to ignore the initial value, they can always check if it's distinct
before/after there.
This commit is contained in:
arkon 2023-11-21 22:30:32 -05:00
parent bcc42dd259
commit 60150423d7

View File

@ -44,7 +44,6 @@ import androidx.compose.ui.unit.dp
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.drop
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.components.material.padding
@ -126,7 +125,6 @@ private fun <T> WheelPicker(
snapshotFlow { lazyListState.firstVisibleItemScrollOffset } snapshotFlow { lazyListState.firstVisibleItemScrollOffset }
.map { calculateSnappedItemIndex(lazyListState) } .map { calculateSnappedItemIndex(lazyListState) }
.distinctUntilChanged() .distinctUntilChanged()
.drop(1)
.collectLatest { .collectLatest {
haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove) haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove)
internalOnSelectionChanged(it) internalOnSelectionChanged(it)