Fix compilation warning (exhaustive when)

This commit is contained in:
Benoit Marty 2022-03-22 15:18:58 +01:00 committed by Benoit Marty
parent 7502158ba9
commit 57bee40211
52 changed files with 175 additions and 116 deletions

View File

@ -83,6 +83,7 @@ class PushRulePreference : VectorPreference {
NotificationIndex.NOISY -> {
radioGroup?.check(R.id.bingPreferenceRadioBingRuleNoisy)
}
null -> Unit
}
radioGroup?.setOnCheckedChangeListener { _, checkedId ->

View File

@ -77,13 +77,10 @@ class KeysBackupBanner @JvmOverloads constructor(
override fun onClick(v: View?) {
when (state) {
is State.Setup -> {
delegate?.setupKeysBackup()
}
is State.Setup -> delegate?.setupKeysBackup()
is State.Update,
is State.Recover -> {
delegate?.recoverKeysBackup()
}
is State.Recover -> delegate?.recoverKeysBackup()
else -> Unit
}
}

View File

@ -49,6 +49,7 @@ class PresenceStateImageView @JvmOverloads constructor(
setImageResource(R.drawable.ic_presence_offline)
contentDescription = context.getString(R.string.a11y_presence_offline)
}
null -> Unit
}
}
}

View File

@ -65,6 +65,7 @@ class ShieldImageView @JvmOverloads constructor(
contentDescription = context.getString(R.string.a11y_trust_level_trusted)
setImageResource(R.drawable.ic_warning_badge)
}
null -> Unit
}
}
}

View File

@ -111,6 +111,7 @@ class CallControlsView @JvmOverloads constructor(
views.ringingControls.isVisible = false
views.connectedControls.isVisible = false
}
null -> Unit
}
}

View File

@ -525,8 +525,7 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
navigator.openCallTransfer(this, callTransferActivityResultLauncher, callId)
}
is VectorCallViewEvents.FailToTransfer -> showSnackbar(getString(R.string.call_transfer_failure))
null -> {
}
else -> Unit
}
}

View File

@ -28,6 +28,7 @@ import com.airbnb.mvrx.Async
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import com.airbnb.mvrx.viewModel
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dagger.hilt.android.AndroidEntryPoint
@ -167,6 +168,7 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() {
private fun renderCreateAndInviteState(state: Async<String>) {
when (state) {
Uninitialized,
is Loading -> renderCreationLoading()
is Success -> renderCreationSuccess(state())
is Fail -> renderCreationFailure(state.error)

View File

@ -140,6 +140,7 @@ class KeysBackupSettingsRecyclerViewController @Inject constructor(
isBackupAlreadySetup = true
}
null -> Unit
}
if (isBackupAlreadySetup) {

View File

@ -116,12 +116,13 @@ class SharedSecureStorageActivity :
is SharedSecureStorageViewEvent.FinishSuccess -> {
val dataResult = Intent()
dataResult.putExtra(EXTRA_DATA_RESULT, it.cypherResult)
setResult(Activity.RESULT_OK, dataResult)
setResult(RESULT_OK, dataResult)
finish()
}
is SharedSecureStorageViewEvent.ShowResetBottomSheet -> {
navigator.open4SSetup(this, SetupMode.HARD_RESET)
}
else -> Unit
}
}

View File

@ -77,6 +77,7 @@ class SharedSecuredStorageKeyFragment @Inject constructor() : VectorBaseFragment
is SharedSecureStorageViewEvent.KeyInlineError -> {
views.ssssKeyEnterTil.error = it.message
}
else -> Unit
}
}

View File

@ -86,6 +86,7 @@ class SharedSecuredStoragePassphraseFragment @Inject constructor(
is SharedSecureStorageViewEvent.InlineError -> {
views.ssssPassphraseEnterTil.error = it.message
}
else -> Unit
}
}

View File

@ -252,6 +252,7 @@ class VerificationBottomSheet : VectorBaseBottomSheetDialogFragment<BottomSheetV
VerificationConclusionFragment.Args(false, state.sasTransactionState.cancelCode.value, state.isMe)
)
}
else -> Unit
}
return@withState

View File

@ -139,6 +139,7 @@ class VerificationEmojiCodeViewModel @AssistedInject constructor(
)
}
}
else -> Unit
}
}

View File

@ -18,6 +18,7 @@ package im.vector.app.features.crypto.verification.request
import androidx.core.text.toSpannable
import com.airbnb.epoxy.EpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
@ -153,6 +154,7 @@ class VerificationRequestController @Inject constructor(
}
}
}
is Fail -> Unit
}
}

View File

@ -50,6 +50,7 @@ class DiscoverySettingsController @Inject constructor(
override fun buildModels(data: DiscoverySettingsState) {
when (data.identityServer) {
Uninitialized,
is Loading -> {
loadingItem {
id("identityServerLoading")
@ -209,7 +210,8 @@ class DiscoverySettingsController @Inject constructor(
titleResId(R.string.settings_discovery_emails_title)
}
when (emails) {
is Incomplete -> {
Uninitialized,
is Loading -> {
loadingItem {
id("emailsLoading")
}
@ -277,7 +279,8 @@ class DiscoverySettingsController @Inject constructor(
}
when (msisdns) {
is Incomplete -> {
Uninitialized,
is Loading -> {
loadingItem {
id("msisdnLoading")
}
@ -353,6 +356,7 @@ class DiscoverySettingsController @Inject constructor(
colorProvider(host.colorProvider)
stringProvider(host.stringProvider)
when (pidInfo.isShared) {
Uninitialized,
is Loading -> {
buttonIndeterminate(true)
}
@ -384,6 +388,7 @@ class DiscoverySettingsController @Inject constructor(
else -> iconMode(IconMode.NONE)
}
}
null -> Unit
}
}
}

View File

@ -273,6 +273,7 @@ class HomeDetailViewModel @AssistedInject constructor(
)
}
}
null -> Unit
}
}
.launchIn(viewModelScope)

View File

@ -1782,6 +1782,7 @@ class TimelineFragment @Inject constructor(
transactionId = data.transactionId,
).show(parentFragmentManager, "REQ")
}
else -> Unit
}
}
@ -2236,6 +2237,8 @@ class TimelineFragment @Inject constructor(
is EventSharedAction.EndPoll -> {
askConfirmationToEndPoll(action.eventId)
}
is EventSharedAction.ReportContent -> Unit /* Not clickable */
EventSharedAction.Separator -> Unit /* Not clickable */
}
}

View File

@ -98,6 +98,7 @@ class VoiceMessageRecorderView @JvmOverloads constructor(
RecordingUiState.Draft -> callback.onVoicePlaybackButtonClicked()
is RecordingUiState.Recording,
is RecordingUiState.Locked -> callback.onRecordingWaveformClicked()
else -> Unit
}
}

View File

@ -26,6 +26,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import com.airbnb.mvrx.args
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
@ -88,6 +89,7 @@ class SearchFragment @Inject constructor(
override fun invalidate() = withState(searchViewModel) { state ->
if (state.searchResult.isNullOrEmpty()) {
when (state.asyncSearchRequest) {
Uninitialized,
is Loading -> {
views.stateView.state = StateView.State.Loading
}

View File

@ -18,8 +18,9 @@ package im.vector.app.features.home.room.detail.timeline.edithistory
import android.text.Spannable
import com.airbnb.epoxy.TypedEpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.R
import im.vector.app.core.date.DateFormatKind
import im.vector.app.core.date.VectorDateFormatter
@ -54,7 +55,8 @@ class ViewEditHistoryEpoxyController @Inject constructor(
override fun buildModels(state: ViewEditHistoryViewState) {
val host = this
when (state.editList) {
is Incomplete -> {
Uninitialized,
is Loading -> {
genericLoaderItem {
id("Spinner")
}

View File

@ -99,6 +99,7 @@ abstract class MessageVoiceItem : AbsMessageItem<MessageVoiceItem.Holder>() {
is VoiceMessagePlaybackTracker.Listener.State.Idle -> renderIdleState(holder)
is VoiceMessagePlaybackTracker.Listener.State.Playing -> renderPlayingState(holder, state)
is VoiceMessagePlaybackTracker.Listener.State.Paused -> renderPausedState(holder, state)
is VoiceMessagePlaybackTracker.Listener.State.Recording -> Unit
}
}
})

View File

@ -18,8 +18,9 @@ package im.vector.app.features.home.room.detail.timeline.reactions
import com.airbnb.epoxy.TypedEpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.EmojiSpanify
import im.vector.app.R
import im.vector.app.core.resources.StringProvider
@ -41,7 +42,8 @@ class ViewReactionsEpoxyController @Inject constructor(
override fun buildModels(state: DisplayReactionsViewState) {
val host = this
when (state.mapReactionKeyToMemberList) {
is Incomplete -> {
Uninitialized,
is Loading -> {
genericLoaderItem {
id("Spinner")
}

View File

@ -29,6 +29,7 @@ import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.R
import im.vector.app.core.extensions.exhaustive
import im.vector.app.core.extensions.hideKeyboard
@ -269,6 +270,7 @@ class LoginFragment @Inject constructor() : AbstractSSOLoginFragment<FragmentLog
setupButtons(state)
when (state.asyncLoginAction) {
Uninitialized,
is Loading -> {
// Ensure password is hidden
views.passwordField.hidePassword()
@ -300,7 +302,7 @@ class LoginFragment @Inject constructor() : AbstractSSOLoginFragment<FragmentLog
views.passwordField.hidePassword()
}
// Success is handled by the LoginActivity
is Success -> Unit
else -> Unit
}
}

View File

@ -23,7 +23,6 @@ import android.view.ViewGroup
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.extensions.hideKeyboard
@ -129,7 +128,7 @@ class LoginResetPasswordFragment @Inject constructor() : AbstractLoginFragment<F
is Fail -> {
views.resetPasswordEmailTil.error = errorFormatter.toHumanReadable(state.asyncResetPassword.error)
}
is Success -> Unit
else -> Unit
}
}
}

View File

@ -21,7 +21,6 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Success
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.databinding.FragmentLoginResetPasswordMailConfirmationBinding
@ -73,7 +72,7 @@ class LoginResetPasswordMailConfirmationFragment @Inject constructor() : Abstrac
.setPositiveButton(R.string.ok, null)
.show()
}
is Success -> Unit
else -> Unit
}
}
}

View File

@ -173,6 +173,7 @@ class LoginViewModel @AssistedInject constructor(
.withAllowedFingerPrints(listOf(action.fingerprint))
.build()
)
else -> Unit
}
}

View File

@ -18,7 +18,6 @@ package im.vector.app.features.login2
import android.content.Context
import android.net.Uri
import androidx.lifecycle.viewModelScope
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.MavericksViewModelFactory
import dagger.assisted.Assisted
@ -172,6 +171,7 @@ class LoginViewModel2 @AssistedInject constructor(
handleSetUserPassword(finalLastAction)
is LoginAction2.LoginWith ->
handleLoginWith(finalLastAction)
else -> Unit
}
}

View File

@ -73,10 +73,9 @@ class MatrixToBottomSheet :
views.matrixToCardContentLoading.isVisible = state.matrixItem is Incomplete
showFragment(MatrixToUserFragment::class, Bundle())
}
is PermalinkData.GroupLink -> {
}
is PermalinkData.FallbackLink -> {
}
is PermalinkData.GroupLink -> Unit
is PermalinkData.FallbackLink -> Unit
is PermalinkData.RoomEmailInviteLink -> Unit
}
}

View File

@ -49,8 +49,8 @@ class MatrixToBottomSheetViewModel @AssistedInject constructor(
private val session: Session,
private val stringProvider: StringProvider,
private val directRoomHelper: DirectRoomHelper,
private val errorFormatter: ErrorFormatter) :
VectorViewModel<MatrixToBottomSheetState, MatrixToAction, MatrixToViewEvents>(initialState) {
private val errorFormatter: ErrorFormatter
) : VectorViewModel<MatrixToBottomSheetState, MatrixToAction, MatrixToViewEvents>(initialState) {
@AssistedFactory
interface Factory : MavericksAssistedViewModelFactory<MatrixToBottomSheetViewModel, MatrixToBottomSheetState> {
@ -77,6 +77,7 @@ class MatrixToBottomSheetViewModel @AssistedInject constructor(
is PermalinkData.FallbackLink -> {
// Not yet supported
}
is PermalinkData.RoomEmailInviteLink -> Unit
}
viewModelScope.launch(Dispatchers.IO) {
resolveLink(initialState)

View File

@ -320,6 +320,7 @@ class DefaultNavigator @Inject constructor(
}
}
}
null -> Unit
}
}
@ -376,6 +377,7 @@ class DefaultNavigator @Inject constructor(
context.startActivity(intent)
}
}
null -> Unit
}
}

View File

@ -47,12 +47,10 @@ class NotificationRenderer @Inject constructor(private val notificationDisplayer
)
// Remove summary first to avoid briefly displaying it after dismissing the last notification
when (summaryNotification) {
SummaryNotification.Removed -> {
if (summaryNotification == SummaryNotification.Removed) {
Timber.d("Removing summary notification")
notificationDisplayer.cancelNotificationMessage(null, SUMMARY_NOTIFICATION_ID)
}
}
roomNotifications.forEach { wrapper ->
when (wrapper) {
@ -94,15 +92,13 @@ class NotificationRenderer @Inject constructor(private val notificationDisplayer
}
// Update summary last to avoid briefly displaying it before other notifications
when (summaryNotification) {
is SummaryNotification.Update -> {
if (summaryNotification is SummaryNotification.Update) {
Timber.d("Updating summary notification")
notificationDisplayer.showNotificationMessage(null, SUMMARY_NOTIFICATION_ID, summaryNotification.notification)
}
}
}
}
}
private fun List<ProcessedEvent<NotifiableEvent>>.groupByType(): GroupedNotificationEvents {
val roomIdToEventMap: MutableMap<String, MutableList<ProcessedEvent<NotifiableMessageEvent>>> = LinkedHashMap()

View File

@ -222,6 +222,7 @@ class OnboardingViewModel @AssistedInject constructor(
.withAllowedFingerPrints(listOf(action.fingerprint))
.build()
)
else -> Unit
}
}

View File

@ -28,7 +28,6 @@ import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import im.vector.app.R
import im.vector.app.core.extensions.exhaustive
import im.vector.app.core.extensions.hideKeyboard
@ -299,7 +298,7 @@ class FtueAuthLoginFragment @Inject constructor() : AbstractSSOFtueAuthFragment<
}
}
// Success is handled by the LoginActivity
is Success -> Unit
else -> Unit
}
when (state.asyncRegistration) {
@ -308,7 +307,7 @@ class FtueAuthLoginFragment @Inject constructor() : AbstractSSOFtueAuthFragment<
views.passwordField.hidePassword()
}
// Success is handled by the LoginActivity
is Success -> Unit
else -> Unit
}
}

View File

@ -23,7 +23,6 @@ import android.view.ViewGroup
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.extensions.hideKeyboard
@ -125,7 +124,7 @@ class FtueAuthResetPasswordFragment @Inject constructor() : AbstractFtueAuthFrag
is Fail -> {
views.resetPasswordEmailTil.error = errorFormatter.toHumanReadable(state.asyncResetPassword.error)
}
is Success -> Unit
else -> Unit
}
}
}

View File

@ -21,7 +21,6 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Success
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.databinding.FragmentLoginResetPasswordMailConfirmationBinding
@ -75,7 +74,7 @@ class FtueAuthResetPasswordMailConfirmationFragment @Inject constructor() : Abst
.setPositiveButton(R.string.ok, null)
.show()
}
is Success -> Unit
else -> Unit
}
}
}

View File

@ -76,6 +76,7 @@ class RoomDirectoryActivity : VectorBaseActivity<ActivitySimpleBinding>(), Matri
is RoomDirectorySharedAction.ChangeProtocol ->
addFragmentToBackstack(views.simpleFragmentContainer, RoomDirectoryPickerFragment::class.java)
is RoomDirectorySharedAction.Close -> finish()
is RoomDirectorySharedAction.CreateRoomSuccess -> Unit
}
}
.launchIn(lifecycleScope)

View File

@ -22,7 +22,6 @@ import android.view.inputmethod.EditorInfo
import android.widget.TextView
import com.airbnb.epoxy.TypedEpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
@ -71,7 +70,8 @@ class RoomDirectoryPickerController @Inject constructor(
heightInPx(host.dimensionConverter.dpToPx(16))
}
}
is Incomplete -> {
Uninitialized,
is Loading -> {
loadingItem {
id("loading")
}

View File

@ -25,8 +25,9 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.view.isVisible
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import com.airbnb.mvrx.args
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
@ -198,7 +199,8 @@ class RoomMemberProfileFragment @Inject constructor(
override fun invalidate() = withState(viewModel) { state ->
when (val asyncUserMatrixItem = state.userMatrixItem) {
is Incomplete -> {
Uninitialized,
is Loading -> {
views.matrixProfileToolbarTitleView.text = state.userId
avatarRenderer.render(MatrixItem.UserItem(state.userId, null, null), views.matrixProfileToolbarAvatarImageView)
headerViews.memberProfileStateView.state = StateView.State.Loading

View File

@ -199,7 +199,8 @@ class RoomAliasController @Inject constructor(
}
when (val localAliases = data.localAliases) {
is Uninitialized -> {
Uninitialized,
is Loading -> {
loadingItem {
id("loadingAliases")
}

View File

@ -24,6 +24,7 @@ import androidx.core.content.ContextCompat
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import com.airbnb.mvrx.parentFragmentViewModel
import com.airbnb.mvrx.withState
import im.vector.app.R
@ -91,6 +92,7 @@ class RoomUploadsFilesFragment @Inject constructor(
override fun invalidate() = withState(uploadsViewModel) { state ->
if (state.fileEvents.isEmpty()) {
when (state.asyncEventsRequest) {
Uninitialized,
is Loading -> {
views.genericStateViewListStateView.state = StateView.State.Loading
}

View File

@ -29,6 +29,7 @@ import androidx.recyclerview.widget.GridLayoutManager
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import com.airbnb.mvrx.parentFragmentViewModel
import com.airbnb.mvrx.withState
import com.google.android.material.appbar.AppBarLayout
@ -188,6 +189,7 @@ class RoomUploadsMediaFragment @Inject constructor(
override fun invalidate() = withState(uploadsViewModel) { state ->
if (state.mediaEvents.isEmpty()) {
when (state.asyncEventsRequest) {
Uninitialized,
is Loading -> {
views.genericStateViewListStateView.state = StateView.State.Loading
}

View File

@ -21,6 +21,7 @@ import com.airbnb.epoxy.TypedEpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.R
import im.vector.app.core.epoxy.loadingItem
import im.vector.app.core.resources.StringProvider
@ -45,6 +46,7 @@ class AccountDataEpoxyController @Inject constructor(
if (data == null) return
val host = this
when (data.accountData) {
Uninitialized,
is Loading -> {
loadingItem {
id("loading")

View File

@ -17,12 +17,16 @@
package im.vector.app.features.settings.locale
import com.airbnb.epoxy.TypedEpoxyController
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.R
import im.vector.app.core.epoxy.errorWithRetryItem
import im.vector.app.core.epoxy.loadingItem
import im.vector.app.core.epoxy.noResultItem
import im.vector.app.core.epoxy.profiles.profileSectionItem
import im.vector.app.core.error.ErrorFormatter
import im.vector.app.core.resources.StringProvider
import im.vector.app.core.utils.safeCapitalize
import im.vector.app.features.settings.VectorLocale
@ -32,7 +36,8 @@ import javax.inject.Inject
class LocalePickerController @Inject constructor(
private val vectorPreferences: VectorPreferences,
private val stringProvider: StringProvider
private val stringProvider: StringProvider,
private val errorFormatter: ErrorFormatter
) : TypedEpoxyController<LocalePickerViewState>() {
var listener: Listener? = null
@ -58,7 +63,8 @@ class LocalePickerController @Inject constructor(
title(host.stringProvider.getString(R.string.choose_locale_other_locales_title))
}
when (list) {
is Incomplete -> {
Uninitialized,
is Loading -> {
loadingItem {
id("loading")
loadingText(host.stringProvider.getString(R.string.choose_locale_loading_locales))
@ -84,6 +90,11 @@ class LocalePickerController @Inject constructor(
}
}
}
is Fail ->
errorWithRetryItem {
id("error")
text(host.errorFormatter.toHumanReadable(list.error))
}
}
}

View File

@ -21,6 +21,7 @@ import com.airbnb.epoxy.TypedEpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.R
import im.vector.app.core.epoxy.loadingItem
import im.vector.app.core.epoxy.noResultItem
@ -78,6 +79,7 @@ class ThreePidsSettingsController @Inject constructor(
}
when (data.threePids) {
Uninitialized,
is Loading -> {
loadingItem {
id("loading")

View File

@ -18,8 +18,9 @@ package im.vector.app.features.signout.soft
import com.airbnb.epoxy.EpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.R
import im.vector.app.core.epoxy.loadingItem
import im.vector.app.core.error.ErrorFormatter
@ -89,7 +90,8 @@ class SoftLogoutController @Inject constructor(
private fun buildForm(state: SoftLogoutViewState) {
val host = this
when (state.asyncHomeServerLoginFlowRequest) {
is Incomplete -> {
Uninitialized,
is Loading -> {
loadingItem {
id("loading")
}

View File

@ -22,8 +22,9 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.airbnb.epoxy.EpoxyTouchHelper
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
import im.vector.app.core.extensions.cleanup
@ -121,8 +122,10 @@ class SpaceListFragment @Inject constructor(
override fun invalidate() = withState(viewModel) { state ->
when (state.asyncSpaces) {
is Incomplete -> views.stateView.state = StateView.State.Loading
Uninitialized,
is Loading -> views.stateView.state = StateView.State.Loading
is Success -> views.stateView.state = StateView.State.Content
else -> Unit
}
spaceController.update(state)
}

View File

@ -85,6 +85,7 @@ class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>() {
when (sharedAction) {
is RoomDirectorySharedAction.Back,
is RoomDirectorySharedAction.Close -> finish()
else -> Unit
}
}
.launchIn(lifecycleScope)

View File

@ -17,8 +17,9 @@ package im.vector.app.features.terms
import com.airbnb.epoxy.TypedEpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.R
import im.vector.app.core.epoxy.errorWithRetryItem
import im.vector.app.core.epoxy.loadingItem
@ -38,7 +39,8 @@ class TermsController @Inject constructor(
val host = this
when (data.termsList) {
is Incomplete -> {
Uninitialized,
is Loading -> {
loadingItem {
id("loading")
}

View File

@ -133,6 +133,7 @@ class UserCodeSharedViewModel @AssistedInject constructor(
// not yet supported
_viewEvents.post(UserCodeShareViewEvents.ToastMessage(stringProvider.getString(R.string.not_implemented)))
}
is PermalinkData.RoomEmailInviteLink -> Unit
}
_viewEvents.post(UserCodeShareViewEvents.HideWaitingScreen)
}

View File

@ -80,6 +80,7 @@ class WidgetActivity : VectorBaseActivity<ActivityWidgetBinding>() {
viewModel.observeViewEvents {
when (it) {
is WidgetViewEvents.Close -> handleClose(it)
else -> Unit
}
}

View File

@ -29,7 +29,6 @@ import android.view.ViewGroup
import androidx.core.view.isInvisible
import androidx.core.view.isVisible
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Incomplete
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
@ -87,6 +86,7 @@ class WidgetFragment @Inject constructor() :
is WidgetViewEvents.OnURLFormatted -> loadFormattedUrl(it)
is WidgetViewEvents.DisplayIntegrationManager -> displayIntegrationManager(it)
is WidgetViewEvents.Failure -> displayErrorDialog(it.throwable)
is WidgetViewEvents.Close -> Unit
}
}
viewModel.handle(WidgetAction.LoadFormattedUrl)
@ -192,7 +192,8 @@ class WidgetFragment @Inject constructor() :
override fun invalidate() = withState(viewModel) { state ->
Timber.v("Invalidate state: $state")
when (state.formattedURL) {
is Incomplete -> {
Uninitialized,
is Loading -> {
setStateError(null)
views.widgetWebView.isInvisible = true
views.widgetProgressBar.isIndeterminate = true

View File

@ -93,6 +93,7 @@ class RoomWidgetPermissionViewModel @AssistedInject constructor(@Assisted val in
when (action) {
RoomWidgetPermissionActions.AllowWidget -> handleAllowWidget()
RoomWidgetPermissionActions.BlockWidget -> handleRevokeWidget()
RoomWidgetPermissionActions.DoClose -> Unit
}
}