diff options
| author | 2024-08-19 19:36:08 -0700 | |
|---|---|---|
| committer | 2024-08-19 19:40:13 -0700 | |
| commit | 57bad9d1cf27d0272f18285f4b31ca0e31a6411b (patch) | |
| tree | fc76a1c244a9edfd421856899c5c8255d0dfb958 /java/src/com | |
| parent | 754d59681277b2afdd52b79746a593488f132e4b (diff) | |
Use a viewmodel property instead of reaching to the repository
A small adjustment to ag/28621884 to use the
ShareouselViewModel.hasSelectedItems property instead of reaching to the
selection repository.
Fix: 349468879
Test: atest IntentResolver-tests-unit
Test: manual functionality testing
Flag: com.android.intentresolver.unselect_final_item
Change-Id: Ifded6890acd116a6dacb76ca2adccafccc1fb5f3
Diffstat (limited to 'java/src/com')
| -rw-r--r-- | java/src/com/android/intentresolver/ChooserHelper.kt | 11 | ||||
| -rw-r--r-- | java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt | 4 |
2 files changed, 7 insertions, 8 deletions
diff --git a/java/src/com/android/intentresolver/ChooserHelper.kt b/java/src/com/android/intentresolver/ChooserHelper.kt index 7d382bfc..c26dd77c 100644 --- a/java/src/com/android/intentresolver/ChooserHelper.kt +++ b/java/src/com/android/intentresolver/ChooserHelper.kt @@ -32,7 +32,6 @@ import com.android.intentresolver.annotation.JavaInterop import com.android.intentresolver.contentpreview.ContentPreviewType.CONTENT_PREVIEW_PAYLOAD_SELECTION import com.android.intentresolver.contentpreview.payloadtoggle.data.repository.ActivityResultRepository import com.android.intentresolver.contentpreview.payloadtoggle.data.repository.PendingSelectionCallbackRepository -import com.android.intentresolver.contentpreview.payloadtoggle.data.repository.PreviewSelectionsRepository import com.android.intentresolver.data.model.ChooserRequest import com.android.intentresolver.platform.GlobalSettings import com.android.intentresolver.ui.viewmodel.ChooserViewModel @@ -92,7 +91,6 @@ constructor( hostActivity: Activity, private val activityResultRepo: ActivityResultRepository, private val pendingSelectionCallbackRepo: PendingSelectionCallbackRepository, - private val selectionsRepo: PreviewSelectionsRepository, private val globalSettings: GlobalSettings, ) : DefaultLifecycleObserver { // This is guaranteed by Hilt, since only a ComponentActivity is injectable. @@ -168,11 +166,10 @@ constructor( viewModel.previewDataProvider.previewType == CONTENT_PREVIEW_PAYLOAD_SELECTION ) { - selectionsRepo.selections - .map { it.isNotEmpty() } - .distinctUntilChanged() - .stateIn(scope = this) - .also { flow -> launch { flow.collect { onHasSelections.accept(it) } } } + viewModel.shareouselViewModel.hasSelectedItems.stateIn(scope = this).also { + flow -> + launch { flow.collect { onHasSelections.accept(it) } } + } } else { MutableStateFlow(true).asStateFlow() } diff --git a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt index 9762794e..ebcd58d1 100644 --- a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt +++ b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt @@ -41,6 +41,7 @@ import javax.inject.Provider import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn @@ -135,7 +136,8 @@ object ShareouselViewModelModule { } } }, - hasSelectedItems = selectionInteractor.selections.map { it.isNotEmpty() }, + hasSelectedItems = + selectionInteractor.selections.map { it.isNotEmpty() }.distinctUntilChanged(), preview = { key, previewHeight, index, previewScope -> keySet.value?.maybeLoad(index) val previewInteractor = interactor.preview(key) |