Chethan
10/28/2020, 12:25 PM@Composable
fun UploadPhotos(
viewModel: YourViewModel,
imageAdapterClickLister: ImageAdapterClickLister
) {
val userSelectedMediaList = viewModel.listOfSelectedImages.collectAsState()
if (userSelectedMediaList.value.isEmpty())
DefaultPlaceHolder(
onClickOfUpload = {
imageAdapterClickLister.onUploadMoreButtonClick()
}
)
else
SetUserSelectedMedia()
}
class YourViewModel @ViewModelInject constructor(
private val repository: YourReviewRepository
) : ViewModel() {
private val _uploadItems = MutableStateFlow(mutableListOf<UploadedItem>())
val listOfSelectedImages: StateFlow<List<UploadedItem>> get() = _uploadItems
fun addSelectedMediaToList(userSelectedUploadItem: UploadedItem) {
val listWithNewlyAddedItem = _uploadItems.value.also {
it.add(userSelectedUploadItem)
}
_uploadItems.value = listWithNewlyAddedItem
}
}
Zach Klippenstein (he/him) [MOD]
10/28/2020, 2:20 PMstateFlow.value += newItem
Zach Klippenstein (he/him) [MOD]
10/28/2020, 2:25 PMChethan
10/29/2020, 1:03 AMprivate val _uploadItems = MutableStateFlow(emptyList<UploadedItem>())
val listOfSelectedImages: StateFlow<List<UploadedItem>> get() = _uploadItems
fun addSelectedMediaToList(userSelectedUploadItem: UploadedItem) {
val newList = mutableListOf<UploadedItem>().also {
it.addAll(_uploadItems.value)
it.add(userSelectedUploadItem)
}
_uploadItems.value = newList
}