From 1d11eae0cc69a98594fdbc9d96ae1177f547fa14 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Mon, 12 Sep 2022 14:54:26 +0200
Subject: [PATCH] Removing learn more link from security header

---
 .../values/stylable_sessions_list_header_view.xml   |  1 +
 .../devices/v2/list/SessionsListHeaderView.kt       | 13 +++++++++++--
 .../main/res/layout/fragment_settings_devices.xml   |  3 +++
 3 files changed, 15 insertions(+), 2 deletions(-)

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..098ec263fc 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 @@
     <declare-styleable name="SessionsListHeaderView">
         <attr name="sessionsListHeaderTitle" format="string" />
         <attr name="sessionsListHeaderDescription" format="string" />
+        <attr name="sessionsListHeaderHasLearnMoreLink" format="boolean" />
     </declare-styleable>
 
 </resources>
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..0264db08e1 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,14 +65,23 @@ class SessionsListHeaderView @JvmOverloads constructor(
             return
         }
 
+        val hasLearnMoreLink = typedArray.getBoolean(R.styleable.SessionsListHeaderView_sessionsListHeaderHasLearnMoreLink, true)
+        if(hasLearnMoreLink) {
+            setDescriptionWithLearnMore(description)
+        } else {
+            binding.sessionsListHeaderDescription.text = description
+        }
+
+        binding.sessionsListHeaderDescription.isVisible = true
+    }
+
+    private fun setDescriptionWithLearnMore(description: String) {
         val learnMore = context.getString(R.string.action_learn_more)
         val fullDescription = buildString {
             append(description)
             append(" ")
             append(learnMore)
         }
-
-        binding.sessionsListHeaderDescription.isVisible = true
         binding.sessionsListHeaderDescription.setTextWithColoredPart(
                 fullText = fullDescription,
                 coloredPart = learnMore,
diff --git a/vector/src/main/res/layout/fragment_settings_devices.xml b/vector/src/main/res/layout/fragment_settings_devices.xml
index 8e2daa2239..4f4e14eaad 100644
--- a/vector/src/main/res/layout/fragment_settings_devices.xml
+++ b/vector/src/main/res/layout/fragment_settings_devices.xml
@@ -14,6 +14,7 @@
             android:layout_height="wrap_content"
             app:sessionsListHeaderDescription="@string/device_manager_header_section_security_recommendations_description"
             app:sessionsListHeaderTitle="@string/device_manager_header_section_security_recommendations_title"
+            app:sessionsListHeaderHasLearnMoreLink="false"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -62,6 +63,7 @@
             android:layout_height="wrap_content"
             app:sessionsListHeaderDescription=""
             app:sessionsListHeaderTitle="@string/device_manager_current_session_title"
+            app:sessionsListHeaderHasLearnMoreLink="false"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/deviceListSecurityRecommendationsDivider" />
@@ -92,6 +94,7 @@
             android:layout_height="wrap_content"
             app:sessionsListHeaderDescription="@string/device_manager_sessions_other_description"
             app:sessionsListHeaderTitle="@string/device_manager_sessions_other_title"
+            app:sessionsListHeaderHasLearnMoreLink="true"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/deviceListDividerCurrentSession" />