diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml index 2411492c72..f4a88ad354 100644 --- a/library/ui-strings/src/main/res/values/strings.xml +++ b/library/ui-strings/src/main/res/values/strings.xml @@ -3227,5 +3227,9 @@ <string name="device_manager_other_sessions_description_unverified">Unverified · Last activity %1$s</string> <string name="device_manager_header_section_security_recommendations_title">Security recommendations</string> <string name="device_manager_header_section_security_recommendations_description">Improve your account security by following these recommendations.</string> + <string name="device_manager_unverified_sessions_title">Unverified sessions</string> + <string name="device_manager_unverified_sessions_description">Verify or sign out from unverified sessions.</string> + <string name="device_manager_inactive_sessions_title">Inactive sessions</string> + <string name="device_manager_inactive_sessions_description">Consider signing out from old sessions (90 days or older) you don’t use anymore.</string> </resources> diff --git a/library/ui-styles/src/main/res/values/colors.xml b/library/ui-styles/src/main/res/values/colors.xml index e72d02f51e..01af740d43 100644 --- a/library/ui-styles/src/main/res/values/colors.xml +++ b/library/ui-styles/src/main/res/values/colors.xml @@ -143,6 +143,7 @@ <color name="shield_color_trust">#0DBD8B</color> <color name="shield_color_black">#17191C</color> <color name="shield_color_warning">#FF4B55</color> + <color name="shield_color_warning_background">#0FFF4B55</color> <!-- Badge Colors --> <attr name="vctr_badge_color_border" format="color" /> diff --git a/vector/src/main/res/drawable/bg_security_recommendation_shield.xml b/vector/src/main/res/drawable/bg_security_recommendation_shield.xml new file mode 100644 index 0000000000..3d46fd4ff6 --- /dev/null +++ b/vector/src/main/res/drawable/bg_security_recommendation_shield.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + + <solid android:color="?android:colorBackground" /> + + <corners android:radius="8dp" /> + +</shape> diff --git a/vector/src/main/res/layout/view_security_recommendation.xml b/vector/src/main/res/layout/view_security_recommendation.xml new file mode 100644 index 0000000000..949c6e99ae --- /dev/null +++ b/vector/src/main/res/layout/view_security_recommendation.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout 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" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@drawable/bg_current_session" + android:padding="16dp"> + + <ImageView + android:id="@+id/recommendationShieldImageView" + android:layout_width="32dp" + android:layout_height="32dp" + android:background="@drawable/bg_security_recommendation_shield" + android:importantForAccessibility="no" + android:padding="8dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:backgroundTint="@color/shield_color_warning_background" + tools:src="@drawable/ic_shield_warning_no_border" /> + + <TextView + android:id="@+id/recommendationTitleTextView" + style="@style/TextAppearance.Vector.Subtitle.Medium.DevicesManagement" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + app:layout_constraintStart_toEndOf="@id/recommendationShieldImageView" + app:layout_constraintTop_toTopOf="@id/recommendationShieldImageView" + tools:text="@string/device_manager_unverified_sessions_title" /> + + <TextView + android:id="@+id/recommendationDescriptionTextView" + style="@style/TextAppearance.Vector.Body.DevicesManagement" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="4dp" + app:layout_constraintStart_toStartOf="@id/recommendationTitleTextView" + app:layout_constraintTop_toBottomOf="@id/recommendationTitleTextView" + tools:text="@string/device_manager_unverified_sessions_description" /> + + <Button + android:id="@+id/recommendationViewAllButton" + style="@style/Widget.Vector.Button.Text" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="4dp" + android:padding="0dp" + app:layout_constraintStart_toStartOf="@id/recommendationTitleTextView" + app:layout_constraintTop_toBottomOf="@id/recommendationDescriptionTextView" + tools:text="@string/device_manager_other_sessions_view_all" /> + +</androidx.constraintlayout.widget.ConstraintLayout>