From 329e05c5021de9e0f80225f7c79a407d3616a839 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Wed, 27 Feb 2019 15:32:41 -0800 Subject: [PATCH] Closes #717 - Cut off session host preview at 64 --- .../fenix/home/sessions/SessionsComponent.kt | 9 +++-- app/src/main/res/layout/session_item.xml | 33 +++++++++---------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/home/sessions/SessionsComponent.kt b/app/src/main/java/org/mozilla/fenix/home/sessions/SessionsComponent.kt index caa9da614..c02ae6a97 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessions/SessionsComponent.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessions/SessionsComponent.kt @@ -14,8 +14,8 @@ import org.mozilla.fenix.mvi.UIComponent import org.mozilla.fenix.mvi.ViewState import java.net.URL import java.text.SimpleDateFormat -import java.util.Date import java.util.Calendar +import java.util.Date import java.util.Locale data class ArchivedSession( @@ -56,11 +56,15 @@ data class ArchivedSession( // just want to grab the host from the URL @SuppressWarnings("TooGenericExceptionCaught") val urlFormatter: (String) -> String = { url -> - try { + var formattedURL = try { URL(url).host } catch (e: Exception) { url } + if (formattedURL.length > LONGEST_HOST_ON_INTERNET_LENGTH) { + formattedURL = formattedURL.take(LONGEST_HOST_ON_INTERNET_LENGTH).plus("...") + } + formattedURL } _urls @@ -72,6 +76,7 @@ data class ArchivedSession( private companion object { private const val NUMBER_OF_URLS_TO_DISPLAY = 5 + private const val LONGEST_HOST_ON_INTERNET_LENGTH = 64 private val timeFormatter = SimpleDateFormat("h:mm a", Locale.US) private val monthFormatter = SimpleDateFormat("M", Locale.US) diff --git a/app/src/main/res/layout/session_item.xml b/app/src/main/res/layout/session_item.xml index 454166590..842c96c16 100644 --- a/app/src/main/res/layout/session_item.xml +++ b/app/src/main/res/layout/session_item.xml @@ -2,22 +2,19 @@ - + app:cardElevation="5dp"> @@ -26,23 +23,23 @@ android:id="@+id/session_card_thumbnail" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/ic_session_thumbnail_placeholder_blue" android:layout_margin="@dimen/session_card_padding" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintStart_toStartOf="parent"/> + android:src="@drawable/ic_session_thumbnail_placeholder_blue" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="@id/session_card_thumbnail" /> + app:layout_constraintTop_toBottomOf="@+id/session_card_timestamp" /> + app:layout_constraintStart_toStartOf="@id/session_card_titles" + app:layout_constraintTop_toBottomOf="@+id/session_card_titles" />