Ensure when will be exhaustive
This commit is contained in:
parent
be371f9279
commit
e81c804ed6
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* Copyright 2020 New Vector Ltd
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package im.vector.riotx.core.extensions
|
||||
|
||||
// Trick to ensure that when block is exhaustive
|
||||
val <T> T.exhaustive: T get() = this
|
|
@ -85,6 +85,7 @@ import im.vector.riotx.R
|
|||
import im.vector.riotx.core.dialogs.withColoredButton
|
||||
import im.vector.riotx.core.epoxy.LayoutManagerStateRestorer
|
||||
import im.vector.riotx.core.extensions.cleanup
|
||||
import im.vector.riotx.core.extensions.exhaustive
|
||||
import im.vector.riotx.core.extensions.hideKeyboard
|
||||
import im.vector.riotx.core.extensions.observeEvent
|
||||
import im.vector.riotx.core.extensions.setTextOrHide
|
||||
|
@ -312,7 +313,7 @@ class RoomDetailFragment @Inject constructor(
|
|||
.subscribe {
|
||||
when (it) {
|
||||
is RoomDetailViewEvents.Failure -> showErrorInSnackbar(it.throwable)
|
||||
}
|
||||
}.exhaustive
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ import im.vector.matrix.android.api.session.room.notification.RoomNotificationSt
|
|||
import im.vector.riotx.R
|
||||
import im.vector.riotx.core.epoxy.LayoutManagerStateRestorer
|
||||
import im.vector.riotx.core.extensions.cleanup
|
||||
import im.vector.riotx.core.extensions.exhaustive
|
||||
import im.vector.riotx.core.platform.OnBackPressed
|
||||
import im.vector.riotx.core.platform.StateView
|
||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||
|
@ -111,7 +112,7 @@ class RoomListFragment @Inject constructor(
|
|||
is RoomListViewEvents.Loading -> showLoading(it.message)
|
||||
is RoomListViewEvents.Failure -> showFailure(it.throwable)
|
||||
is RoomListViewEvents.SelectRoom -> openSelectedRoom(it)
|
||||
}
|
||||
}.exhaustive
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ import im.vector.riotx.core.animations.AppBarStateChangeListener
|
|||
import im.vector.riotx.core.animations.MatrixItemAppBarStateChangeListener
|
||||
import im.vector.riotx.core.extensions.cleanup
|
||||
import im.vector.riotx.core.extensions.configureWith
|
||||
import im.vector.riotx.core.extensions.exhaustive
|
||||
import im.vector.riotx.core.extensions.setTextOrHide
|
||||
import im.vector.riotx.core.platform.StateView
|
||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||
|
@ -88,7 +89,7 @@ class RoomMemberProfileFragment @Inject constructor(
|
|||
is RoomMemberProfileViewEvents.Loading -> showLoading(it.message)
|
||||
is RoomMemberProfileViewEvents.Failure -> showFailure(it.throwable)
|
||||
is RoomMemberProfileViewEvents.OnIgnoreActionSuccess -> Unit
|
||||
}
|
||||
}.exhaustive
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ import im.vector.riotx.core.animations.AppBarStateChangeListener
|
|||
import im.vector.riotx.core.animations.MatrixItemAppBarStateChangeListener
|
||||
import im.vector.riotx.core.extensions.cleanup
|
||||
import im.vector.riotx.core.extensions.configureWith
|
||||
import im.vector.riotx.core.extensions.exhaustive
|
||||
import im.vector.riotx.core.extensions.setTextOrHide
|
||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||
import im.vector.riotx.features.home.AvatarRenderer
|
||||
|
@ -87,7 +88,7 @@ class RoomProfileFragment @Inject constructor(
|
|||
is RoomProfileViewEvents.Loading -> showLoading(it.message)
|
||||
is RoomProfileViewEvents.Failure -> showFailure(it.throwable)
|
||||
is RoomProfileViewEvents.OnLeaveRoomSuccess -> onLeaveRoom()
|
||||
}
|
||||
}.exhaustive
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
roomListQuickActionsSharedActionViewModel
|
||||
|
|
|
@ -27,6 +27,7 @@ import im.vector.matrix.android.api.util.toMatrixItem
|
|||
import im.vector.riotx.R
|
||||
import im.vector.riotx.core.extensions.cleanup
|
||||
import im.vector.riotx.core.extensions.configureWith
|
||||
import im.vector.riotx.core.extensions.exhaustive
|
||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||
import im.vector.riotx.features.home.AvatarRenderer
|
||||
import im.vector.riotx.features.roomprofile.RoomProfileArgs
|
||||
|
@ -61,7 +62,7 @@ class RoomSettingsFragment @Inject constructor(
|
|||
dismissLoadingDialog()
|
||||
when (it) {
|
||||
is RoomSettingsViewEvents.Failure -> showFailure(it.throwable)
|
||||
}
|
||||
}.exhaustive
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
}
|
||||
|
|
|
@ -23,6 +23,5 @@ import im.vector.riotx.core.platform.VectorViewEvents
|
|||
* Transient events for room settings screen
|
||||
*/
|
||||
sealed class RoomSettingsViewEvents : VectorViewEvents {
|
||||
data class Loading(val message: CharSequence? = null) : RoomSettingsViewEvents()
|
||||
data class Failure(val throwable: Throwable) : RoomSettingsViewEvents()
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ import im.vector.matrix.android.internal.crypto.model.rest.DeviceInfo
|
|||
import im.vector.riotx.R
|
||||
import im.vector.riotx.core.extensions.cleanup
|
||||
import im.vector.riotx.core.extensions.configureWith
|
||||
import im.vector.riotx.core.extensions.exhaustive
|
||||
import im.vector.riotx.core.extensions.observeEvent
|
||||
import im.vector.riotx.core.platform.VectorBaseActivity
|
||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||
|
@ -70,7 +71,7 @@ class VectorSettingsDevicesFragment @Inject constructor(
|
|||
when (it) {
|
||||
is DevicesViewEvents.Loading -> showLoading(it.message)
|
||||
is DevicesViewEvents.Failure -> showFailure(it.throwable)
|
||||
}
|
||||
}.exhaustive
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
viewModel.requestPasswordLiveData.observeEvent(this) {
|
||||
|
|
|
@ -27,6 +27,7 @@ import com.airbnb.mvrx.withState
|
|||
import im.vector.riotx.R
|
||||
import im.vector.riotx.core.extensions.cleanup
|
||||
import im.vector.riotx.core.extensions.configureWith
|
||||
import im.vector.riotx.core.extensions.exhaustive
|
||||
import im.vector.riotx.core.platform.VectorBaseActivity
|
||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
|
@ -58,7 +59,7 @@ class VectorSettingsIgnoredUsersFragment @Inject constructor(
|
|||
when (it) {
|
||||
is IgnoredUsersViewEvents.Loading -> showLoading(it.message)
|
||||
is IgnoredUsersViewEvents.Failure -> showFailure(it.throwable)
|
||||
}
|
||||
}.exhaustive
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue