Fix textStoryToggle visibility when hasSelectedMedia

This commit is contained in:
Sagar 2025-01-29 00:40:57 +05:30
parent ec840726fc
commit 4367bf4ae0
2 changed files with 12 additions and 5 deletions

View file

@ -153,6 +153,14 @@ class MediaSelectionActivity :
textViewModel.restoreFromInstanceState(savedInstanceState)
}
viewModel.hasSelectedMedia.observe(this) { hasSelectedMedia->
if(hasSelectedMedia) {
textStoryToggle.visible = false
} else {
textStoryToggle.visible = canDisplayStorySwitch()
}
}
(supportFragmentManager.findFragmentByTag(NAV_HOST_TAG) as NavHostFragment).navController.addOnDestinationChangedListener { _, d, _ ->
when (d.id) {
R.id.mediaCaptureFragment -> {
@ -233,7 +241,6 @@ class MediaSelectionActivity :
private fun canDisplayStorySwitch(): Boolean {
return Stories.isFeatureEnabled() &&
isCameraFirst() &&
!viewModel.hasSelectedMedia() &&
(destination == MediaSelectionDestination.ChooseAfterMediaSelection || destination is MediaSelectionDestination.SingleStory)
}

View file

@ -7,6 +7,8 @@ import android.os.Parcel
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.distinctUntilChanged
import androidx.lifecycle.map
import com.google.common.io.ByteStreams
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Flowable
@ -80,6 +82,8 @@ class MediaSelectionViewModel(
val state: LiveData<MediaSelectionState> = store.stateLiveData
val hasSelectedMedia: LiveData<Boolean> = store.stateLiveData.map { it.selectedMedia.isNotEmpty() }.distinctUntilChanged()
private val internalHudCommands = PublishSubject.create<HudCommand>()
val mediaErrors: BehaviorSubject<MediaValidator.FilterError> = BehaviorSubject.createDefault(MediaValidator.FilterError.None)
@ -469,10 +473,6 @@ class MediaSelectionViewModel(
}
}
fun hasSelectedMedia(): Boolean {
return store.state.selectedMedia.isNotEmpty()
}
fun clearMediaErrors() {
mediaErrors.onNext(MediaValidator.FilterError.None)
}