diff --git a/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolder.kt b/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolder.kt
index cfa2cc81a..6366dca52 100644
--- a/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolder.kt
+++ b/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolder.kt
@@ -5,10 +5,10 @@
package org.mozilla.fenix.tabhistory
import android.view.View
-import androidx.core.text.bold
-import androidx.core.text.buildSpannedString
import androidx.core.view.isVisible
import kotlinx.android.synthetic.main.tab_history_list_item.*
+import mozilla.components.support.ktx.android.content.getColorFromAttr
+import org.mozilla.fenix.R
import org.mozilla.fenix.library.LibrarySiteItemView
import org.mozilla.fenix.utils.view.ViewHolder
@@ -28,15 +28,14 @@ class TabHistoryViewHolder(
history_layout.displayAs(LibrarySiteItemView.ItemType.SITE)
history_layout.overflowView.isVisible = false
+ history_layout.titleView.text = item.title
history_layout.urlView.text = item.url
history_layout.loadFavicon(item.url)
- history_layout.titleView.text = if (item.isSelected) {
- buildSpannedString {
- bold { append(item.title) }
- }
+ if (item.isSelected) {
+ history_layout.setBackgroundColor(history_layout.context.getColorFromAttr(R.attr.tabHistoryItemSelectedBackground))
} else {
- item.title
+ history_layout.background = null
}
}
}
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
index 5ff68a52a..29193af41 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -67,6 +67,9 @@
@color/tab_tray_item_thumbnail_icon_dark_theme
@color/tab_tray_selected_mask_dark_theme
+
+ @color/tab_tray_item_selected_background_dark_theme
+
@color/top_site_title_text_dark_theme
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 35eb091d7..292f24ea5 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -66,6 +66,9 @@
+
+
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 4e7101f93..3dbeaf224 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -77,6 +77,9 @@
@color/photonLightGrey60
@color/violet_70_12a
+
+ @color/tab_tray_item_selected_background_light_theme
+
#FBFBFE
#A7A2B7
@@ -140,6 +143,9 @@
@color/photonDarkGrey05
@color/violet_50_32a
+
+ @color/tab_tray_item_selected_background_dark_theme
+
#FBFBFE
#A7A2B7
@@ -195,6 +201,9 @@
@color/violet_50
@color/violet_50_48a
+
+ @color/tab_tray_item_selected_background_dark_theme
+
@color/primary_text_light_theme
@color/secondary_text_light_theme
@@ -254,6 +263,9 @@
@color/tab_tray_item_thumbnail_icon_light_theme
@color/tab_tray_selected_mask_light_theme
+
+ @color/tab_history_item_selected_background_light_theme
+
#DFDFE3
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index b67e9349e..9b89fb6da 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -93,6 +93,9 @@
- @color/tab_tray_item_thumbnail_background_normal_theme
- @color/tab_tray_item_thumbnail_icon_normal_theme
+
+ - @color/tab_history_item_selected_background_normal_theme
+
- @drawable/ic_logo_wordmark_normal
- @color/foundation_normal_theme
@@ -231,6 +234,9 @@
- @color/tab_tray_item_thumbnail_background_normal_theme
- @color/tab_tray_item_thumbnail_icon_normal_theme
+
+ - @color/tab_history_item_selected_background_private_theme
+
- @drawable/ic_logo_wordmark_private
- @drawable/private_home_background_gradient
diff --git a/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt b/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt
index 72662e807..7bfd37904 100644
--- a/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt
+++ b/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt
@@ -4,12 +4,14 @@
package org.mozilla.fenix.tabhistory
-import android.text.Spanned
+import android.content.Context
+import android.graphics.drawable.ColorDrawable
import android.widget.FrameLayout
import androidx.appcompat.view.ContextThemeWrapper
-import androidx.core.text.HtmlCompat
-import io.mockk.mockk
+import io.mockk.MockKAnnotations
+import io.mockk.impl.annotations.MockK
import kotlinx.android.synthetic.main.history_list_item.*
+import mozilla.components.support.ktx.android.content.getColorFromAttr
import mozilla.components.support.test.robolectric.testContext
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
@@ -23,8 +25,10 @@ import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
@RunWith(FenixRobolectricTestRunner::class)
class TabHistoryAdapterTest {
- private lateinit var parent: FrameLayout
+ @MockK
private lateinit var interactor: TabHistoryInteractor
+ private lateinit var context: Context
+ private lateinit var parent: FrameLayout
private lateinit var adapter: TabHistoryAdapter
private val selectedItem = TabHistoryItem(
@@ -42,8 +46,9 @@ class TabHistoryAdapterTest {
@Before
fun setup() {
- parent = FrameLayout(ContextThemeWrapper(testContext, R.style.NormalTheme))
- interactor = mockk()
+ MockKAnnotations.init(this)
+ context = ContextThemeWrapper(testContext, R.style.NormalTheme)
+ parent = FrameLayout(context)
adapter = TabHistoryAdapter(interactor)
}
@@ -54,12 +59,15 @@ class TabHistoryAdapterTest {
val holder = adapter.createViewHolder(parent, 0)
adapter.bindViewHolder(holder, 0)
- val htmlSelected = HtmlCompat.toHtml(holder.history_layout.titleView.text as Spanned, 0)
- assertTrue(htmlSelected, "Mozilla" in htmlSelected)
+ assertEquals("Mozilla", holder.history_layout.titleView.text)
+ assertEquals(
+ context.getColorFromAttr(R.attr.tabHistoryItemSelectedBackground),
+ (holder.history_layout.background as ColorDrawable).color
+ )
adapter.bindViewHolder(holder, 1)
- assertFalse(holder.history_layout.titleView.text is Spanned)
assertEquals("Firefox", holder.history_layout.titleView.text)
+ assertEquals(null, holder.history_layout.background)
}
@Test