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" />