Fix textStoryToggle visibility when hasSelectedMedia
This commit is contained in:
parent
ec840726fc
commit
4367bf4ae0
2 changed files with 12 additions and 5 deletions
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue