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.dialogs.withColoredButton
|
||||||
import im.vector.riotx.core.epoxy.LayoutManagerStateRestorer
|
import im.vector.riotx.core.epoxy.LayoutManagerStateRestorer
|
||||||
import im.vector.riotx.core.extensions.cleanup
|
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.hideKeyboard
|
||||||
import im.vector.riotx.core.extensions.observeEvent
|
import im.vector.riotx.core.extensions.observeEvent
|
||||||
import im.vector.riotx.core.extensions.setTextOrHide
|
import im.vector.riotx.core.extensions.setTextOrHide
|
||||||
@ -312,7 +313,7 @@ class RoomDetailFragment @Inject constructor(
|
|||||||
.subscribe {
|
.subscribe {
|
||||||
when (it) {
|
when (it) {
|
||||||
is RoomDetailViewEvents.Failure -> showErrorInSnackbar(it.throwable)
|
is RoomDetailViewEvents.Failure -> showErrorInSnackbar(it.throwable)
|
||||||
}
|
}.exhaustive
|
||||||
}
|
}
|
||||||
.disposeOnDestroyView()
|
.disposeOnDestroyView()
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,7 @@ import im.vector.matrix.android.api.session.room.notification.RoomNotificationSt
|
|||||||
import im.vector.riotx.R
|
import im.vector.riotx.R
|
||||||
import im.vector.riotx.core.epoxy.LayoutManagerStateRestorer
|
import im.vector.riotx.core.epoxy.LayoutManagerStateRestorer
|
||||||
import im.vector.riotx.core.extensions.cleanup
|
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.OnBackPressed
|
||||||
import im.vector.riotx.core.platform.StateView
|
import im.vector.riotx.core.platform.StateView
|
||||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||||
@ -111,7 +112,7 @@ class RoomListFragment @Inject constructor(
|
|||||||
is RoomListViewEvents.Loading -> showLoading(it.message)
|
is RoomListViewEvents.Loading -> showLoading(it.message)
|
||||||
is RoomListViewEvents.Failure -> showFailure(it.throwable)
|
is RoomListViewEvents.Failure -> showFailure(it.throwable)
|
||||||
is RoomListViewEvents.SelectRoom -> openSelectedRoom(it)
|
is RoomListViewEvents.SelectRoom -> openSelectedRoom(it)
|
||||||
}
|
}.exhaustive
|
||||||
}
|
}
|
||||||
.disposeOnDestroyView()
|
.disposeOnDestroyView()
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ import im.vector.riotx.core.animations.AppBarStateChangeListener
|
|||||||
import im.vector.riotx.core.animations.MatrixItemAppBarStateChangeListener
|
import im.vector.riotx.core.animations.MatrixItemAppBarStateChangeListener
|
||||||
import im.vector.riotx.core.extensions.cleanup
|
import im.vector.riotx.core.extensions.cleanup
|
||||||
import im.vector.riotx.core.extensions.configureWith
|
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.extensions.setTextOrHide
|
||||||
import im.vector.riotx.core.platform.StateView
|
import im.vector.riotx.core.platform.StateView
|
||||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||||
@ -88,7 +89,7 @@ class RoomMemberProfileFragment @Inject constructor(
|
|||||||
is RoomMemberProfileViewEvents.Loading -> showLoading(it.message)
|
is RoomMemberProfileViewEvents.Loading -> showLoading(it.message)
|
||||||
is RoomMemberProfileViewEvents.Failure -> showFailure(it.throwable)
|
is RoomMemberProfileViewEvents.Failure -> showFailure(it.throwable)
|
||||||
is RoomMemberProfileViewEvents.OnIgnoreActionSuccess -> Unit
|
is RoomMemberProfileViewEvents.OnIgnoreActionSuccess -> Unit
|
||||||
}
|
}.exhaustive
|
||||||
}
|
}
|
||||||
.disposeOnDestroyView()
|
.disposeOnDestroyView()
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ import im.vector.riotx.core.animations.AppBarStateChangeListener
|
|||||||
import im.vector.riotx.core.animations.MatrixItemAppBarStateChangeListener
|
import im.vector.riotx.core.animations.MatrixItemAppBarStateChangeListener
|
||||||
import im.vector.riotx.core.extensions.cleanup
|
import im.vector.riotx.core.extensions.cleanup
|
||||||
import im.vector.riotx.core.extensions.configureWith
|
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.extensions.setTextOrHide
|
||||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||||
import im.vector.riotx.features.home.AvatarRenderer
|
import im.vector.riotx.features.home.AvatarRenderer
|
||||||
@ -87,7 +88,7 @@ class RoomProfileFragment @Inject constructor(
|
|||||||
is RoomProfileViewEvents.Loading -> showLoading(it.message)
|
is RoomProfileViewEvents.Loading -> showLoading(it.message)
|
||||||
is RoomProfileViewEvents.Failure -> showFailure(it.throwable)
|
is RoomProfileViewEvents.Failure -> showFailure(it.throwable)
|
||||||
is RoomProfileViewEvents.OnLeaveRoomSuccess -> onLeaveRoom()
|
is RoomProfileViewEvents.OnLeaveRoomSuccess -> onLeaveRoom()
|
||||||
}
|
}.exhaustive
|
||||||
}
|
}
|
||||||
.disposeOnDestroyView()
|
.disposeOnDestroyView()
|
||||||
roomListQuickActionsSharedActionViewModel
|
roomListQuickActionsSharedActionViewModel
|
||||||
|
@ -27,6 +27,7 @@ import im.vector.matrix.android.api.util.toMatrixItem
|
|||||||
import im.vector.riotx.R
|
import im.vector.riotx.R
|
||||||
import im.vector.riotx.core.extensions.cleanup
|
import im.vector.riotx.core.extensions.cleanup
|
||||||
import im.vector.riotx.core.extensions.configureWith
|
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.core.platform.VectorBaseFragment
|
||||||
import im.vector.riotx.features.home.AvatarRenderer
|
import im.vector.riotx.features.home.AvatarRenderer
|
||||||
import im.vector.riotx.features.roomprofile.RoomProfileArgs
|
import im.vector.riotx.features.roomprofile.RoomProfileArgs
|
||||||
@ -61,7 +62,7 @@ class RoomSettingsFragment @Inject constructor(
|
|||||||
dismissLoadingDialog()
|
dismissLoadingDialog()
|
||||||
when (it) {
|
when (it) {
|
||||||
is RoomSettingsViewEvents.Failure -> showFailure(it.throwable)
|
is RoomSettingsViewEvents.Failure -> showFailure(it.throwable)
|
||||||
}
|
}.exhaustive
|
||||||
}
|
}
|
||||||
.disposeOnDestroyView()
|
.disposeOnDestroyView()
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,5 @@ import im.vector.riotx.core.platform.VectorViewEvents
|
|||||||
* Transient events for room settings screen
|
* Transient events for room settings screen
|
||||||
*/
|
*/
|
||||||
sealed class RoomSettingsViewEvents : VectorViewEvents {
|
sealed class RoomSettingsViewEvents : VectorViewEvents {
|
||||||
data class Loading(val message: CharSequence? = null) : RoomSettingsViewEvents()
|
|
||||||
data class Failure(val throwable: Throwable) : 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.R
|
||||||
import im.vector.riotx.core.extensions.cleanup
|
import im.vector.riotx.core.extensions.cleanup
|
||||||
import im.vector.riotx.core.extensions.configureWith
|
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.extensions.observeEvent
|
||||||
import im.vector.riotx.core.platform.VectorBaseActivity
|
import im.vector.riotx.core.platform.VectorBaseActivity
|
||||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||||
@ -70,7 +71,7 @@ class VectorSettingsDevicesFragment @Inject constructor(
|
|||||||
when (it) {
|
when (it) {
|
||||||
is DevicesViewEvents.Loading -> showLoading(it.message)
|
is DevicesViewEvents.Loading -> showLoading(it.message)
|
||||||
is DevicesViewEvents.Failure -> showFailure(it.throwable)
|
is DevicesViewEvents.Failure -> showFailure(it.throwable)
|
||||||
}
|
}.exhaustive
|
||||||
}
|
}
|
||||||
.disposeOnDestroyView()
|
.disposeOnDestroyView()
|
||||||
viewModel.requestPasswordLiveData.observeEvent(this) {
|
viewModel.requestPasswordLiveData.observeEvent(this) {
|
||||||
|
@ -27,6 +27,7 @@ import com.airbnb.mvrx.withState
|
|||||||
import im.vector.riotx.R
|
import im.vector.riotx.R
|
||||||
import im.vector.riotx.core.extensions.cleanup
|
import im.vector.riotx.core.extensions.cleanup
|
||||||
import im.vector.riotx.core.extensions.configureWith
|
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.VectorBaseActivity
|
||||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
@ -58,7 +59,7 @@ class VectorSettingsIgnoredUsersFragment @Inject constructor(
|
|||||||
when (it) {
|
when (it) {
|
||||||
is IgnoredUsersViewEvents.Loading -> showLoading(it.message)
|
is IgnoredUsersViewEvents.Loading -> showLoading(it.message)
|
||||||
is IgnoredUsersViewEvents.Failure -> showFailure(it.throwable)
|
is IgnoredUsersViewEvents.Failure -> showFailure(it.throwable)
|
||||||
}
|
}.exhaustive
|
||||||
}
|
}
|
||||||
.disposeOnDestroyView()
|
.disposeOnDestroyView()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user