diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml index d6a3cc8dbf..bf0bce8a8c 100644 --- a/library/ui-strings/src/main/res/values/strings.xml +++ b/library/ui-strings/src/main/res/values/strings.xml @@ -3303,6 +3303,8 @@ Session name Custom session names can help you recognize your devices more easily. Please be aware that session names are also visible to people you communicate with. + SIGN IN WITH QR CODE + You can use this device to sign in a mobile or web device with a QR code. There are two ways to do this: %s\nis looking a little empty. diff --git a/library/ui-styles/src/main/res/values/stylable_sessions_list_header_view.xml b/library/ui-styles/src/main/res/values/stylable_sessions_list_header_view.xml index d3b931e44a..f0907c8087 100644 --- a/library/ui-styles/src/main/res/values/stylable_sessions_list_header_view.xml +++ b/library/ui-styles/src/main/res/values/stylable_sessions_list_header_view.xml @@ -4,6 +4,7 @@ + diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionsListHeaderView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionsListHeaderView.kt index ef8682df01..c94dd469da 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionsListHeaderView.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionsListHeaderView.kt @@ -65,20 +65,29 @@ class SessionsListHeaderView @JvmOverloads constructor( return } + val showLearnMore = typedArray.getBoolean(R.styleable.SessionsListHeaderView_sessionListHeaderShowLearnMore, true) val learnMore = context.getString(R.string.action_learn_more) - val fullDescription = buildString { - append(description) - append(" ") - append(learnMore) + val fullDescription = if (showLearnMore) { + buildString { + append(description) + append(" ") + append(learnMore) + } + } else { + description } binding.sessionsListHeaderDescription.isVisible = true - binding.sessionsListHeaderDescription.setTextWithColoredPart( - fullText = fullDescription, - coloredPart = learnMore, - underline = false - ) { - onLearnMoreClickListener?.invoke() + if (showLearnMore) { + binding.sessionsListHeaderDescription.setTextWithColoredPart( + fullText = fullDescription, + coloredPart = learnMore, + underline = false + ) { + onLearnMoreClickListener?.invoke() + } + } else { + binding.sessionsListHeaderDescription.text = fullDescription } } } diff --git a/vector/src/main/res/layout/fragment_other_sessions.xml b/vector/src/main/res/layout/fragment_other_sessions.xml index 037f85ad28..d78db073c4 100644 --- a/vector/src/main/res/layout/fragment_other_sessions.xml +++ b/vector/src/main/res/layout/fragment_other_sessions.xml @@ -53,11 +53,12 @@ android:id="@+id/deviceListHeaderOtherSessions" android:layout_width="0dp" android:layout_height="wrap_content" - app:sessionsListHeaderDescription="@string/device_manager_sessions_other_description" - app:sessionsListHeaderTitle="" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/appBarLayout" /> + app:layout_constraintTop_toBottomOf="@id/appBarLayout" + app:sessionListHeaderShowLearnMore="true" + app:sessionsListHeaderDescription="@string/device_manager_sessions_other_description" + app:sessionsListHeaderTitle="" /> + app:layout_constraintTop_toTopOf="parent" + app:sessionListHeaderShowLearnMore="true" + app:sessionsListHeaderDescription="@string/device_manager_header_section_security_recommendations_description" + app:sessionsListHeaderTitle="@string/device_manager_header_section_security_recommendations_title" /> + app:layout_constraintTop_toBottomOf="@id/deviceListHeaderSectionSecurityRecommendations" + app:recommendationDescription="@string/device_manager_unverified_sessions_description" + app:recommendationImageBackgroundTint="@color/shield_color_warning_background" + app:recommendationImageResource="@drawable/ic_shield_warning_no_border" + app:recommendationTitle="@string/device_manager_unverified_sessions_title" /> + app:layout_constraintTop_toBottomOf="@id/deviceListUnverifiedSessionsRecommendation" + app:recommendationDescription="@plurals/device_manager_inactive_sessions_description" + app:recommendationImageBackgroundTint="?vctr_system" + app:recommendationImageResource="@drawable/ic_inactive_sessions" + app:recommendationTitle="@string/device_manager_inactive_sessions_title" /> + app:layout_constraintTop_toBottomOf="@id/deviceListSecurityRecommendationsDivider" + app:sessionListHeaderShowLearnMore="false" + app:sessionsListHeaderDescription="" + app:sessionsListHeaderTitle="@string/device_manager_current_session_title" /> + app:layout_constraintTop_toBottomOf="@id/deviceListDividerCurrentSession" + app:sessionListHeaderShowLearnMore="true" + app:sessionsListHeaderDescription="@string/device_manager_sessions_other_description" + app:sessionsListHeaderTitle="@string/device_manager_sessions_other_title" /> + + +