diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
index d748600416..64744f6eeb 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
@@ -101,6 +101,7 @@ class VectorSettingsDevicesFragment :
initWaitingView()
initCurrentSessionHeaderView()
+ initCurrentSessionListView()
initOtherSessionsHeaderView()
initOtherSessionsView()
initSecurityRecommendationsView()
@@ -153,6 +154,12 @@ class VectorSettingsDevicesFragment :
}
}
+ private fun initCurrentSessionListView() {
+ views.deviceListCurrentSession.viewVerifyButton.debouncedClicks {
+ viewModel.handle(DevicesAction.VerifyCurrentSession)
+ }
+ }
+
private fun initOtherSessionsHeaderView() {
views.deviceListHeaderOtherSessions.setOnMenuItemClickListener { menuItem ->
when (menuItem.itemId) {
@@ -351,31 +358,38 @@ class VectorSettingsDevicesFragment :
private fun renderCurrentSessionView(currentDeviceInfo: DeviceFullInfo?, hasOtherDevices: Boolean) {
currentDeviceInfo?.let {
- views.deviceListHeaderCurrentSession.isVisible = true
- val colorDestructive = colorProvider.getColorFromAttribute(R.attr.colorError)
- val signoutOtherSessionsItem = views.deviceListHeaderCurrentSession.menu.findItem(R.id.currentSessionHeaderSignoutOtherSessions)
- signoutOtherSessionsItem.setTextColor(colorDestructive)
- signoutOtherSessionsItem.isVisible = hasOtherDevices
- views.deviceListCurrentSession.isVisible = true
- val viewState = SessionInfoViewState(
- isCurrentSession = true,
- deviceFullInfo = it
- )
- views.deviceListCurrentSession.render(viewState, dateFormatter, drawableProvider, colorProvider, stringProvider)
- views.deviceListCurrentSession.debouncedClicks {
- currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
- }
- views.deviceListCurrentSession.viewDetailsButton.debouncedClicks {
- currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
- }
- views.deviceListCurrentSession.viewVerifyButton.debouncedClicks {
- viewModel.handle(DevicesAction.VerifyCurrentSession)
- }
+ renderCurrentSessionHeaderView(hasOtherDevices)
+ renderCurrentSessionListView(it)
} ?: run {
hideCurrentSessionView()
}
}
+ private fun renderCurrentSessionHeaderView(hasOtherDevices: Boolean) {
+ views.deviceListHeaderCurrentSession.isVisible = true
+ val colorDestructive = colorProvider.getColorFromAttribute(R.attr.colorError)
+ val signoutSessionItem = views.deviceListHeaderCurrentSession.menu.findItem(R.id.currentSessionHeaderSignout)
+ signoutSessionItem.setTextColor(colorDestructive)
+ val signoutOtherSessionsItem = views.deviceListHeaderCurrentSession.menu.findItem(R.id.currentSessionHeaderSignoutOtherSessions)
+ signoutOtherSessionsItem.setTextColor(colorDestructive)
+ signoutOtherSessionsItem.isVisible = hasOtherDevices
+ }
+
+ private fun renderCurrentSessionListView(currentDeviceInfo: DeviceFullInfo) {
+ views.deviceListCurrentSession.isVisible = true
+ val viewState = SessionInfoViewState(
+ isCurrentSession = true,
+ deviceFullInfo = currentDeviceInfo
+ )
+ views.deviceListCurrentSession.render(viewState, dateFormatter, drawableProvider, colorProvider, stringProvider)
+ views.deviceListCurrentSession.debouncedClicks {
+ currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
+ }
+ views.deviceListCurrentSession.viewDetailsButton.debouncedClicks {
+ currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
+ }
+ }
+
private fun navigateToSessionOverview(deviceId: String) {
viewNavigator.navigateToSessionOverview(
context = requireActivity(),
diff --git a/vector/src/main/res/menu/menu_current_session_header.xml b/vector/src/main/res/menu/menu_current_session_header.xml
index 3b00423488..993bee6178 100644
--- a/vector/src/main/res/menu/menu_current_session_header.xml
+++ b/vector/src/main/res/menu/menu_current_session_header.xml
@@ -4,6 +4,16 @@
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="AlwaysShowAction">
+
+
+
+