mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-02-18 13:00:18 +03:00
Room settings: use boolean instead of Async
This commit is contained in:
parent
28db05e509
commit
d672313649
3 changed files with 5 additions and 6 deletions
|
@ -20,7 +20,6 @@ import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import com.airbnb.mvrx.Loading
|
|
||||||
import com.airbnb.mvrx.args
|
import com.airbnb.mvrx.args
|
||||||
import com.airbnb.mvrx.fragmentViewModel
|
import com.airbnb.mvrx.fragmentViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
|
@ -82,7 +81,7 @@ class RoomSettingsFragment @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun renderRoomSummary(state: RoomSettingsViewState) {
|
private fun renderRoomSummary(state: RoomSettingsViewState) {
|
||||||
waiting_view.isVisible = state.currentRequest is Loading
|
waiting_view.isVisible = state.isLoading
|
||||||
|
|
||||||
state.roomSummary()?.let {
|
state.roomSummary()?.let {
|
||||||
roomSettingsToolbarTitleView.text = it.displayName
|
roomSettingsToolbarTitleView.text = it.displayName
|
||||||
|
|
|
@ -71,13 +71,13 @@ class RoomSettingsViewModel @AssistedInject constructor(@Assisted initialState:
|
||||||
|
|
||||||
private fun handleEnableEncryption() {
|
private fun handleEnableEncryption() {
|
||||||
setState {
|
setState {
|
||||||
copy(currentRequest = Loading())
|
copy(isLoading = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
room.enableEncryption(MXCRYPTO_ALGORITHM_MEGOLM, object : MatrixCallback<Unit> {
|
room.enableEncryption(MXCRYPTO_ALGORITHM_MEGOLM, object : MatrixCallback<Unit> {
|
||||||
override fun onFailure(failure: Throwable) {
|
override fun onFailure(failure: Throwable) {
|
||||||
setState {
|
setState {
|
||||||
copy(currentRequest = Uninitialized)
|
copy(isLoading = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
_requestErrorLiveData.postLiveEvent(failure)
|
_requestErrorLiveData.postLiveEvent(failure)
|
||||||
|
@ -85,7 +85,7 @@ class RoomSettingsViewModel @AssistedInject constructor(@Assisted initialState:
|
||||||
|
|
||||||
override fun onSuccess(data: Unit) {
|
override fun onSuccess(data: Unit) {
|
||||||
setState {
|
setState {
|
||||||
copy(currentRequest = Uninitialized)
|
copy(isLoading = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -25,7 +25,7 @@ import im.vector.riotx.features.roomprofile.RoomProfileArgs
|
||||||
data class RoomSettingsViewState(
|
data class RoomSettingsViewState(
|
||||||
val roomId: String,
|
val roomId: String,
|
||||||
val roomSummary: Async<RoomSummary> = Uninitialized,
|
val roomSummary: Async<RoomSummary> = Uninitialized,
|
||||||
val currentRequest: Async<Unit> = Uninitialized
|
val isLoading: Boolean = false
|
||||||
) : MvRxState {
|
) : MvRxState {
|
||||||
|
|
||||||
constructor(args: RoomProfileArgs) : this(roomId = args.roomId)
|
constructor(args: RoomProfileArgs) : this(roomId = args.roomId)
|
||||||
|
|
Loading…
Add table
Reference in a new issue