Navigate to session details on click.
This commit is contained in:
parent
0ec67c1ab8
commit
42ade670da
@ -34,17 +34,23 @@ import im.vector.app.databinding.FragmentOtherSessionsBinding
|
|||||||
import im.vector.app.features.settings.devices.v2.DeviceFullInfo
|
import im.vector.app.features.settings.devices.v2.DeviceFullInfo
|
||||||
import im.vector.app.features.settings.devices.v2.DevicesAction
|
import im.vector.app.features.settings.devices.v2.DevicesAction
|
||||||
import im.vector.app.features.settings.devices.v2.DevicesViewModel
|
import im.vector.app.features.settings.devices.v2.DevicesViewModel
|
||||||
|
import im.vector.app.features.settings.devices.v2.VectorSettingsDevicesViewNavigator
|
||||||
import im.vector.app.features.settings.devices.v2.filter.DeviceManagerFilterBottomSheet
|
import im.vector.app.features.settings.devices.v2.filter.DeviceManagerFilterBottomSheet
|
||||||
import im.vector.app.features.settings.devices.v2.filter.DeviceManagerFilterType
|
import im.vector.app.features.settings.devices.v2.filter.DeviceManagerFilterType
|
||||||
|
import im.vector.app.features.settings.devices.v2.list.OtherSessionsView
|
||||||
import im.vector.app.features.settings.devices.v2.list.SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS
|
import im.vector.app.features.settings.devices.v2.list.SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS
|
||||||
import im.vector.app.features.themes.ThemeUtils
|
import im.vector.app.features.themes.ThemeUtils
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class OtherSessionsFragment : VectorBaseFragment<FragmentOtherSessionsBinding>(), VectorBaseBottomSheetDialogFragment.ResultListener {
|
class OtherSessionsFragment :
|
||||||
|
VectorBaseFragment<FragmentOtherSessionsBinding>(),
|
||||||
|
VectorBaseBottomSheetDialogFragment.ResultListener,
|
||||||
|
OtherSessionsView.Callback {
|
||||||
|
|
||||||
private val viewModel: DevicesViewModel by fragmentViewModel()
|
private val viewModel: DevicesViewModel by fragmentViewModel()
|
||||||
@Inject lateinit var colorProvider: ColorProvider
|
@Inject lateinit var colorProvider: ColorProvider
|
||||||
|
@Inject lateinit var viewNavigator: VectorSettingsDevicesViewNavigator
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentOtherSessionsBinding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentOtherSessionsBinding {
|
||||||
return FragmentOtherSessionsBinding.inflate(layoutInflater, container, false)
|
return FragmentOtherSessionsBinding.inflate(layoutInflater, container, false)
|
||||||
@ -68,6 +74,8 @@ class OtherSessionsFragment : VectorBaseFragment<FragmentOtherSessionsBinding>()
|
|||||||
views.otherSessionsClearFilterButton.debouncedClicks {
|
views.otherSessionsClearFilterButton.debouncedClicks {
|
||||||
viewModel.handle(DevicesAction.FilterDevices(DeviceManagerFilterType.ALL_SESSIONS))
|
viewModel.handle(DevicesAction.FilterDevices(DeviceManagerFilterType.ALL_SESSIONS))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
views.deviceListOtherSessions.callback = this
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBottomSheetResult(resultCode: Int, data: Any?) {
|
override fun onBottomSheetResult(resultCode: Int, data: Any?) {
|
||||||
@ -142,4 +150,15 @@ class OtherSessionsFragment : VectorBaseFragment<FragmentOtherSessionsBinding>()
|
|||||||
views.deviceListOtherSessions.render(devices, devices.size)
|
views.deviceListOtherSessions.render(devices, devices.size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onOtherSessionClicked(deviceId: String) {
|
||||||
|
viewNavigator.navigateToSessionOverview(
|
||||||
|
context = requireActivity(),
|
||||||
|
deviceId = deviceId
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewAllOtherSessionsClicked() {
|
||||||
|
// NOOP. We don't have this button in this screen
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user