diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index 58fc62b347..684bc6f7b2 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -3359,6 +3359,7 @@
- Sign out of %1$d session
- Sign out of %1$d sessions
+ Sign out of all other sessions
Show IP address
Hide IP address
Sign out of this session
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 b27d8a7270..c371581395 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
@@ -247,7 +247,7 @@ class VectorSettingsDevicesFragment :
val otherDevices = devices?.filter { it.deviceInfo.deviceId != currentDeviceId }
renderSecurityRecommendations(state.inactiveSessionsCount, state.unverifiedSessionsCount, isCurrentSessionVerified)
- renderCurrentDevice(currentDeviceInfo)
+ renderCurrentSessionView(currentDeviceInfo)
renderOtherSessionsView(otherDevices, state.isShowingIpAddress)
} else {
hideSecurityRecommendations()
@@ -310,11 +310,11 @@ class VectorSettingsDevicesFragment :
hideOtherSessionsView()
} else {
views.deviceListHeaderOtherSessions.isVisible = true
- val color = colorProvider.getColorFromAttribute(R.attr.colorError)
+ val colorDestructive = colorProvider.getColorFromAttribute(R.attr.colorError)
val multiSignoutItem = views.deviceListHeaderOtherSessions.menu.findItem(R.id.otherSessionsHeaderMultiSignout)
val nbDevices = otherDevices.size
multiSignoutItem.title = stringProvider.getQuantityString(R.plurals.device_manager_other_sessions_multi_signout_all, nbDevices, nbDevices)
- multiSignoutItem.setTextColor(color)
+ multiSignoutItem.setTextColor(colorDestructive)
views.deviceListOtherSessions.isVisible = true
val devices = if (isShowingIpAddress) otherDevices else otherDevices.map { it.copy(deviceInfo = it.deviceInfo.copy(lastSeenIp = null)) }
views.deviceListOtherSessions.render(
@@ -335,9 +335,12 @@ class VectorSettingsDevicesFragment :
views.deviceListOtherSessions.isVisible = false
}
- private fun renderCurrentDevice(currentDeviceInfo: DeviceFullInfo?) {
+ private fun renderCurrentSessionView(currentDeviceInfo: DeviceFullInfo?) {
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)
views.deviceListCurrentSession.isVisible = true
val viewState = SessionInfoViewState(
isCurrentSession = true,
diff --git a/vector/src/main/res/layout/fragment_settings_devices.xml b/vector/src/main/res/layout/fragment_settings_devices.xml
index 8134774887..731049f3a2 100644
--- a/vector/src/main/res/layout/fragment_settings_devices.xml
+++ b/vector/src/main/res/layout/fragment_settings_devices.xml
@@ -67,6 +67,7 @@
app:layout_constraintTop_toBottomOf="@id/deviceListSecurityRecommendationsDivider"
app:sessionsListHeaderDescription=""
app:sessionsListHeaderHasLearnMoreLink="false"
+ app:sessionsListHeaderMenu="@menu/menu_current_session_header"
app:sessionsListHeaderTitle="@string/device_manager_current_session_title" />
+