mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-02-03 12:37:31 +01:00
Adding menu for current session header
This commit is contained in:
parent
e857407bc1
commit
62e2f06e2a
@ -3359,6 +3359,7 @@
|
|||||||
<item quantity="one">Sign out of %1$d session</item>
|
<item quantity="one">Sign out of %1$d session</item>
|
||||||
<item quantity="other">Sign out of %1$d sessions</item>
|
<item quantity="other">Sign out of %1$d sessions</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<string name="device_manager_signout_all_other_sessions">Sign out of all other sessions</string>
|
||||||
<string name="device_manager_other_sessions_show_ip_address">Show IP address</string>
|
<string name="device_manager_other_sessions_show_ip_address">Show IP address</string>
|
||||||
<string name="device_manager_other_sessions_hide_ip_address">Hide IP address</string>
|
<string name="device_manager_other_sessions_hide_ip_address">Hide IP address</string>
|
||||||
<string name="device_manager_session_overview_signout">Sign out of this session</string>
|
<string name="device_manager_session_overview_signout">Sign out of this session</string>
|
||||||
|
@ -247,7 +247,7 @@ class VectorSettingsDevicesFragment :
|
|||||||
val otherDevices = devices?.filter { it.deviceInfo.deviceId != currentDeviceId }
|
val otherDevices = devices?.filter { it.deviceInfo.deviceId != currentDeviceId }
|
||||||
|
|
||||||
renderSecurityRecommendations(state.inactiveSessionsCount, state.unverifiedSessionsCount, isCurrentSessionVerified)
|
renderSecurityRecommendations(state.inactiveSessionsCount, state.unverifiedSessionsCount, isCurrentSessionVerified)
|
||||||
renderCurrentDevice(currentDeviceInfo)
|
renderCurrentSessionView(currentDeviceInfo)
|
||||||
renderOtherSessionsView(otherDevices, state.isShowingIpAddress)
|
renderOtherSessionsView(otherDevices, state.isShowingIpAddress)
|
||||||
} else {
|
} else {
|
||||||
hideSecurityRecommendations()
|
hideSecurityRecommendations()
|
||||||
@ -310,11 +310,11 @@ class VectorSettingsDevicesFragment :
|
|||||||
hideOtherSessionsView()
|
hideOtherSessionsView()
|
||||||
} else {
|
} else {
|
||||||
views.deviceListHeaderOtherSessions.isVisible = true
|
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 multiSignoutItem = views.deviceListHeaderOtherSessions.menu.findItem(R.id.otherSessionsHeaderMultiSignout)
|
||||||
val nbDevices = otherDevices.size
|
val nbDevices = otherDevices.size
|
||||||
multiSignoutItem.title = stringProvider.getQuantityString(R.plurals.device_manager_other_sessions_multi_signout_all, nbDevices, nbDevices)
|
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
|
views.deviceListOtherSessions.isVisible = true
|
||||||
val devices = if (isShowingIpAddress) otherDevices else otherDevices.map { it.copy(deviceInfo = it.deviceInfo.copy(lastSeenIp = null)) }
|
val devices = if (isShowingIpAddress) otherDevices else otherDevices.map { it.copy(deviceInfo = it.deviceInfo.copy(lastSeenIp = null)) }
|
||||||
views.deviceListOtherSessions.render(
|
views.deviceListOtherSessions.render(
|
||||||
@ -335,9 +335,12 @@ class VectorSettingsDevicesFragment :
|
|||||||
views.deviceListOtherSessions.isVisible = false
|
views.deviceListOtherSessions.isVisible = false
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun renderCurrentDevice(currentDeviceInfo: DeviceFullInfo?) {
|
private fun renderCurrentSessionView(currentDeviceInfo: DeviceFullInfo?) {
|
||||||
currentDeviceInfo?.let {
|
currentDeviceInfo?.let {
|
||||||
views.deviceListHeaderCurrentSession.isVisible = true
|
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
|
views.deviceListCurrentSession.isVisible = true
|
||||||
val viewState = SessionInfoViewState(
|
val viewState = SessionInfoViewState(
|
||||||
isCurrentSession = true,
|
isCurrentSession = true,
|
||||||
|
@ -67,6 +67,7 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/deviceListSecurityRecommendationsDivider"
|
app:layout_constraintTop_toBottomOf="@id/deviceListSecurityRecommendationsDivider"
|
||||||
app:sessionsListHeaderDescription=""
|
app:sessionsListHeaderDescription=""
|
||||||
app:sessionsListHeaderHasLearnMoreLink="false"
|
app:sessionsListHeaderHasLearnMoreLink="false"
|
||||||
|
app:sessionsListHeaderMenu="@menu/menu_current_session_header"
|
||||||
app:sessionsListHeaderTitle="@string/device_manager_current_session_title" />
|
app:sessionsListHeaderTitle="@string/device_manager_current_session_title" />
|
||||||
|
|
||||||
<im.vector.app.features.settings.devices.v2.list.SessionInfoView
|
<im.vector.app.features.settings.devices.v2.list.SessionInfoView
|
||||||
|
12
vector/src/main/res/menu/menu_current_session_header.xml
Normal file
12
vector/src/main/res/menu/menu_current_session_header.xml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
tools:ignore="AlwaysShowAction">
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/currentSessionHeaderSignoutOtherSessions"
|
||||||
|
android:title="@string/device_manager_signout_all_other_sessions"
|
||||||
|
app:showAsAction="withText|never" />
|
||||||
|
|
||||||
|
</menu>
|
Loading…
x
Reference in New Issue
Block a user