Better ViewState
This commit is contained in:
parent
aee34ad552
commit
e546587efb
@ -23,7 +23,6 @@ import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.iterator
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.airbnb.mvrx.activityViewModel
|
||||
import com.airbnb.mvrx.fragmentViewModel
|
||||
|
@ -100,8 +100,6 @@ class HomeDetailViewModel @AssistedInject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private var forceDialPad = false
|
||||
|
||||
private fun observeDataStore() {
|
||||
vectorDataStore.pushCounterFlow.setOnEach { nbOfPush ->
|
||||
copy(
|
||||
@ -109,10 +107,11 @@ class HomeDetailViewModel @AssistedInject constructor(
|
||||
)
|
||||
}
|
||||
|
||||
vectorDataStore.forceDialPadDisplayFlow.onEach { force ->
|
||||
forceDialPad = force
|
||||
updateShowDialPadTab()
|
||||
}.launchIn(viewModelScope)
|
||||
vectorDataStore.forceDialPadDisplayFlow.setOnEach { force ->
|
||||
copy(
|
||||
forceDialPadTab = force
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun handle(action: HomeDetailAction) {
|
||||
@ -158,7 +157,7 @@ class HomeDetailViewModel @AssistedInject constructor(
|
||||
|
||||
private fun updateShowDialPadTab() {
|
||||
setState {
|
||||
copy(showDialPadTab = forceDialPad || callManager.supportsPSTNProtocol)
|
||||
copy(pstnSupportFlag = callManager.supportsPSTNProtocol)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,8 +42,11 @@ data class HomeDetailViewState(
|
||||
val syncState: SyncState = SyncState.Idle,
|
||||
val incrementalSyncStatus: SyncStatusService.Status.IncrementalSyncStatus = SyncStatusService.Status.IncrementalSyncIdle,
|
||||
val pushCounter: Int = 0,
|
||||
val showDialPadTab: Boolean = false
|
||||
) : MavericksState
|
||||
val pstnSupportFlag: Boolean = false,
|
||||
val forceDialPadTab: Boolean = false
|
||||
) : MavericksState {
|
||||
val showDialPadTab = forceDialPadTab || pstnSupportFlag
|
||||
}
|
||||
|
||||
sealed class HomeTab(@StringRes val titleRes: Int) {
|
||||
data class RoomList(val displayMode: RoomListDisplayMode) : HomeTab(displayMode.titleRes)
|
||||
|
Loading…
Reference in New Issue
Block a user