Loading components/browser/menu/src/main/java/mozilla/components/browser/menu/item/BrowserMenuHighlightableItem.kt +21 −11 Original line number Diff line number Diff line Loading @@ -12,14 +12,14 @@ import androidx.appcompat.widget.AppCompatImageView import mozilla.components.browser.menu.BrowserMenu import mozilla.components.browser.menu.R private val defaultHighlight = BrowserMenuHighlightableItem.Highlight(0, 0, 0) private val defaultHighlight = BrowserMenuHighlightableItem.Highlight(0, 0, 0, 0) /** * A menu item for displaying text with an image icon and a highlight state which sets the * background of the menu item and a second image icon to the right of the text. * * @param label The visible label of this menu item. * @param imageResource ID of a drawable resource to be shown as a leftmost icon. * @param startImageResource ID of a drawable resource to be shown as a leftmost icon. * @param iconTintColorResource Optional ID of color resource to tint the icon. * @param textColorResource Optional ID of color resource to tint the text. * @param highlight Highlight object storing the background drawable and additional icon Loading @@ -29,7 +29,7 @@ private val defaultHighlight = BrowserMenuHighlightableItem.Highlight(0, 0, 0) class BrowserMenuHighlightableItem( private val label: String, @DrawableRes private val imageResource: Int, private val startImageResource: Int, @DrawableRes @ColorRes private val iconTintColorResource: Int = NO_ID, Loading @@ -40,7 +40,7 @@ class BrowserMenuHighlightableItem( private val listener: () -> Unit = {} ) : BrowserMenuImageText( label, imageResource, startImageResource, iconTintColorResource, textColorResource, listener Loading Loading @@ -79,7 +79,7 @@ class BrowserMenuHighlightableItem( wasHighlighted = isHighlighted() updateHighlight(view, wasHighlighted) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.end_image) highlightImageView.setTintResource(iconTintColorResource) } Loading @@ -92,14 +92,22 @@ class BrowserMenuHighlightableItem( } private fun updateHighlight(view: View, isHighlighted: Boolean) { val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) val startImageView = view.findViewById<AppCompatImageView>(R.id.image) val endImageView = view.findViewById<AppCompatImageView>(R.id.end_image) if (isHighlighted) { view.setBackgroundResource(highlight.backgroundResource) with(highlightImageView) { setImageResource(highlight.imageResource) with(startImageView) { if (highlight.startImageResource != NO_ID) { setImageResource(highlight.startImageResource) } } with(endImageView) { if (highlight.endImageResource != NO_ID) { setImageResource(highlight.endImageResource) visibility = View.VISIBLE } } } else { val selectableItemBackground = TypedValue() view.context.theme.resolveAttribute( Loading @@ -109,7 +117,7 @@ class BrowserMenuHighlightableItem( ) view.setBackgroundResource(selectableItemBackground.resourceId) with(highlightImageView) { with(endImageView) { setImageResource(0) visibility = View.GONE } Loading @@ -118,7 +126,9 @@ class BrowserMenuHighlightableItem( class Highlight( @DrawableRes val imageResource: Int, val startImageResource: Int = NO_ID, @DrawableRes val endImageResource: Int = NO_ID, @DrawableRes val backgroundResource: Int, @ColorRes Loading components/browser/menu/src/main/res/layout/mozac_browser_menu_highlightable_item.xml +1 −1 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ android:importantForAccessibility="no"/> <androidx.appcompat.widget.AppCompatImageView android:id="@+id/highlight_image" android:id="@+id/end_image" android:layout_alignParentEnd="true" android:layout_gravity="center_vertical" style="@style/Mozac.Browser.Menu.Item.ImageText.Icon" Loading components/browser/menu/src/test/java/mozilla/components/browser/menu/item/BrowserMenuHighlightableItemTest.kt +47 −21 Original line number Diff line number Diff line Loading @@ -11,17 +11,20 @@ import android.view.LayoutInflater import android.view.View import android.widget.TextView import androidx.appcompat.widget.AppCompatImageView import androidx.core.view.isVisible import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import mozilla.components.browser.menu.BrowserMenu import mozilla.components.browser.menu.R import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull import org.junit.Assert.assertTrue import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mockito.mock import org.robolectric.Shadows @RunWith(AndroidJUnit4::class) class BrowserMenuHighlightableItemTest { Loading @@ -36,7 +39,11 @@ class BrowserMenuHighlightableItemTest { android.R.drawable.ic_menu_report_image, android.R.color.black, android.R.color.black, BrowserMenuHighlightableItem.Highlight(android.R.drawable.ic_menu_report_image, R.color.photonRed50, R.color.photonRed50) BrowserMenuHighlightableItem.Highlight( endImageResource = android.R.drawable.ic_menu_report_image, backgroundResource = R.color.photonRed50, colorResource = R.color.photonRed50 ) ) { onClickWasPress = true } Loading @@ -48,13 +55,20 @@ class BrowserMenuHighlightableItemTest { } @Test fun `browser menu highlightable item should have the right text, image, and iconTintColorResource`() { fun `browser menu highlightable item should properly handle highlighting`() { var shouldHighlight = false val item = BrowserMenuHighlightableItem( "label", android.R.drawable.ic_menu_report_image, android.R.color.black, android.R.color.black, BrowserMenuHighlightableItem.Highlight(android.R.drawable.ic_menu_report_image, R.color.photonRed50, R.color.photonRed50) label = "label", startImageResource = android.R.drawable.ic_menu_report_image, iconTintColorResource = android.R.color.black, textColorResource = android.R.color.black, highlight = BrowserMenuHighlightableItem.Highlight( startImageResource = android.R.drawable.ic_menu_camera, endImageResource = android.R.drawable.ic_menu_add, backgroundResource = R.color.photonRed50, colorResource = R.color.photonRed50 ), isHighlighted = { shouldHighlight } ) val view = inflate(item) Loading @@ -62,15 +76,23 @@ class BrowserMenuHighlightableItemTest { val textView = view.findViewById<TextView>(R.id.text) assertEquals(textView.text, "label") val imageView = view.findViewById<AppCompatImageView>(R.id.image) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) val startImageView = view.findViewById<AppCompatImageView>(R.id.image) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.end_image) // Highlight should not exist before set assertEquals(android.R.drawable.ic_menu_report_image, Shadows.shadowOf(startImageView.drawable).createdFromResId) assertFalse(highlightImageView.isVisible) assertNotNull(imageView.drawable) assertNotNull(imageView.imageTintList) assertEquals(highlightImageView.visibility, View.VISIBLE) assertNotNull(highlightImageView.drawable) shouldHighlight = true item.invalidate(view) // Highlight should now exist assertTrue(highlightImageView.isVisible) assertNotNull(startImageView.imageTintList) assertEquals(android.R.drawable.ic_menu_camera, Shadows.shadowOf(startImageView.drawable).createdFromResId) assertEquals(android.R.drawable.ic_menu_add, Shadows.shadowOf(highlightImageView.drawable).createdFromResId) assertNotNull(highlightImageView.imageTintList) assertNotNull(view.background) assertEquals(R.color.photonRed50, Shadows.shadowOf(view.background).createdFromResId) } @Test Loading @@ -78,16 +100,20 @@ class BrowserMenuHighlightableItemTest { val item = BrowserMenuHighlightableItem( "label", android.R.drawable.ic_menu_report_image, highlight = BrowserMenuHighlightableItem.Highlight(android.R.drawable.ic_menu_report_image, R.color.photonRed50, R.color.photonRed50) highlight = BrowserMenuHighlightableItem.Highlight( endImageResource = android.R.drawable.ic_menu_report_image, backgroundResource = R.color.photonRed50, colorResource = R.color.photonRed50 ) ) val view = inflate(item) val imageView = view.findViewById<AppCompatImageView>(R.id.image) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) val startImageView = view.findViewById<AppCompatImageView>(R.id.image) val endImageView = view.findViewById<AppCompatImageView>(R.id.end_image) assertNull(imageView.imageTintList) assertNull(highlightImageView.imageTintList) assertNull(startImageView.imageTintList) assertNull(endImageView.imageTintList) } @Test Loading @@ -99,8 +125,8 @@ class BrowserMenuHighlightableItemTest { ) val view = inflate(item) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) assertEquals(highlightImageView.visibility, View.GONE) val endImageView = view.findViewById<AppCompatImageView>(R.id.end_image) assertEquals(endImageView.visibility, View.GONE) } private fun inflate(item: BrowserMenuHighlightableItem): View { Loading components/browser/toolbar/src/test/java/mozilla/components/browser/toolbar/BrowserToolbarTest.kt +9 −9 Original line number Diff line number Diff line Loading @@ -634,7 +634,7 @@ class BrowserToolbarTest { @Test fun `BrowserToolbar Button must set padding`() { var button = BrowserToolbar.Button(mock(), "imageResource", visible = { true }) {} var button = BrowserToolbar.Button(mock(), "endImageResource", visible = { true }) {} val linearLayout = LinearLayout(testContext) var view = button.createView(linearLayout) val padding = Padding(0, 0, 0, 0) Loading @@ -642,20 +642,20 @@ class BrowserToolbarTest { assertEquals(view.paddingTop, ACTION_PADDING_DP) assertEquals(view.paddingRight, ACTION_PADDING_DP) assertEquals(view.paddingBottom, ACTION_PADDING_DP) button = BrowserToolbar.Button(mock(), "imageResource", padding = padding.copy(left = 16)) {} button = BrowserToolbar.Button(mock(), "endImageResource", padding = padding.copy(left = 16)) {} view = button.createView(linearLayout) assertEquals(view.paddingLeft, 16) button = BrowserToolbar.Button(mock(), "imageResource", padding = padding.copy(top = 16)) {} button = BrowserToolbar.Button(mock(), "endImageResource", padding = padding.copy(top = 16)) {} view = button.createView(linearLayout) assertEquals(view.paddingTop, 16) button = BrowserToolbar.Button(mock(), "imageResource", padding = padding.copy(right = 16)) {} button = BrowserToolbar.Button(mock(), "endImageResource", padding = padding.copy(right = 16)) {} view = button.createView(linearLayout) assertEquals(view.paddingRight, 16) button = BrowserToolbar.Button(mock(), "imageResource", padding = padding.copy(bottom = 16)) {} button = BrowserToolbar.Button(mock(), "endImageResource", padding = padding.copy(bottom = 16)) {} view = button.createView(linearLayout) assertEquals(view.paddingBottom, 16) button = BrowserToolbar.Button( mock(), "imageResource", mock(), "endImageResource", padding = Padding(16, 20, 24, 28) ) {} view = button.createView(linearLayout) Loading @@ -671,7 +671,7 @@ class BrowserToolbarTest { var button = BrowserToolbar.ToggleButton( mock(), mock(), "imageResource", "endImageResource", "", visible = { true }, selected = false, Loading @@ -687,7 +687,7 @@ class BrowserToolbarTest { button = BrowserToolbar.ToggleButton( mock(), mock(), "imageResource", "endImageResource", "", visible = { true }, selected = false, Loading @@ -704,7 +704,7 @@ class BrowserToolbarTest { button = BrowserToolbar.ToggleButton( mock(), mock(), "imageResource", "endImageResource", "", selected = false, background = 0 Loading components/browser/toolbar/src/test/java/mozilla/components/browser/toolbar/display/MenuButtonTest.kt +2 −2 Original line number Diff line number Diff line Loading @@ -107,8 +107,8 @@ class MenuButtonTest { val highlightMenuBuilder = spy(BrowserMenuBuilder(listOf( BrowserMenuHighlightableItem( label = "Test", imageResource = 0, highlight = BrowserMenuHighlightableItem.Highlight(0, colorResource, colorResource), startImageResource = 0, highlight = BrowserMenuHighlightableItem.Highlight(0, 0, colorResource, colorResource), isHighlighted = { isHighlighted } ) ))) Loading Loading
components/browser/menu/src/main/java/mozilla/components/browser/menu/item/BrowserMenuHighlightableItem.kt +21 −11 Original line number Diff line number Diff line Loading @@ -12,14 +12,14 @@ import androidx.appcompat.widget.AppCompatImageView import mozilla.components.browser.menu.BrowserMenu import mozilla.components.browser.menu.R private val defaultHighlight = BrowserMenuHighlightableItem.Highlight(0, 0, 0) private val defaultHighlight = BrowserMenuHighlightableItem.Highlight(0, 0, 0, 0) /** * A menu item for displaying text with an image icon and a highlight state which sets the * background of the menu item and a second image icon to the right of the text. * * @param label The visible label of this menu item. * @param imageResource ID of a drawable resource to be shown as a leftmost icon. * @param startImageResource ID of a drawable resource to be shown as a leftmost icon. * @param iconTintColorResource Optional ID of color resource to tint the icon. * @param textColorResource Optional ID of color resource to tint the text. * @param highlight Highlight object storing the background drawable and additional icon Loading @@ -29,7 +29,7 @@ private val defaultHighlight = BrowserMenuHighlightableItem.Highlight(0, 0, 0) class BrowserMenuHighlightableItem( private val label: String, @DrawableRes private val imageResource: Int, private val startImageResource: Int, @DrawableRes @ColorRes private val iconTintColorResource: Int = NO_ID, Loading @@ -40,7 +40,7 @@ class BrowserMenuHighlightableItem( private val listener: () -> Unit = {} ) : BrowserMenuImageText( label, imageResource, startImageResource, iconTintColorResource, textColorResource, listener Loading Loading @@ -79,7 +79,7 @@ class BrowserMenuHighlightableItem( wasHighlighted = isHighlighted() updateHighlight(view, wasHighlighted) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.end_image) highlightImageView.setTintResource(iconTintColorResource) } Loading @@ -92,14 +92,22 @@ class BrowserMenuHighlightableItem( } private fun updateHighlight(view: View, isHighlighted: Boolean) { val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) val startImageView = view.findViewById<AppCompatImageView>(R.id.image) val endImageView = view.findViewById<AppCompatImageView>(R.id.end_image) if (isHighlighted) { view.setBackgroundResource(highlight.backgroundResource) with(highlightImageView) { setImageResource(highlight.imageResource) with(startImageView) { if (highlight.startImageResource != NO_ID) { setImageResource(highlight.startImageResource) } } with(endImageView) { if (highlight.endImageResource != NO_ID) { setImageResource(highlight.endImageResource) visibility = View.VISIBLE } } } else { val selectableItemBackground = TypedValue() view.context.theme.resolveAttribute( Loading @@ -109,7 +117,7 @@ class BrowserMenuHighlightableItem( ) view.setBackgroundResource(selectableItemBackground.resourceId) with(highlightImageView) { with(endImageView) { setImageResource(0) visibility = View.GONE } Loading @@ -118,7 +126,9 @@ class BrowserMenuHighlightableItem( class Highlight( @DrawableRes val imageResource: Int, val startImageResource: Int = NO_ID, @DrawableRes val endImageResource: Int = NO_ID, @DrawableRes val backgroundResource: Int, @ColorRes Loading
components/browser/menu/src/main/res/layout/mozac_browser_menu_highlightable_item.xml +1 −1 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ android:importantForAccessibility="no"/> <androidx.appcompat.widget.AppCompatImageView android:id="@+id/highlight_image" android:id="@+id/end_image" android:layout_alignParentEnd="true" android:layout_gravity="center_vertical" style="@style/Mozac.Browser.Menu.Item.ImageText.Icon" Loading
components/browser/menu/src/test/java/mozilla/components/browser/menu/item/BrowserMenuHighlightableItemTest.kt +47 −21 Original line number Diff line number Diff line Loading @@ -11,17 +11,20 @@ import android.view.LayoutInflater import android.view.View import android.widget.TextView import androidx.appcompat.widget.AppCompatImageView import androidx.core.view.isVisible import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import mozilla.components.browser.menu.BrowserMenu import mozilla.components.browser.menu.R import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull import org.junit.Assert.assertTrue import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mockito.mock import org.robolectric.Shadows @RunWith(AndroidJUnit4::class) class BrowserMenuHighlightableItemTest { Loading @@ -36,7 +39,11 @@ class BrowserMenuHighlightableItemTest { android.R.drawable.ic_menu_report_image, android.R.color.black, android.R.color.black, BrowserMenuHighlightableItem.Highlight(android.R.drawable.ic_menu_report_image, R.color.photonRed50, R.color.photonRed50) BrowserMenuHighlightableItem.Highlight( endImageResource = android.R.drawable.ic_menu_report_image, backgroundResource = R.color.photonRed50, colorResource = R.color.photonRed50 ) ) { onClickWasPress = true } Loading @@ -48,13 +55,20 @@ class BrowserMenuHighlightableItemTest { } @Test fun `browser menu highlightable item should have the right text, image, and iconTintColorResource`() { fun `browser menu highlightable item should properly handle highlighting`() { var shouldHighlight = false val item = BrowserMenuHighlightableItem( "label", android.R.drawable.ic_menu_report_image, android.R.color.black, android.R.color.black, BrowserMenuHighlightableItem.Highlight(android.R.drawable.ic_menu_report_image, R.color.photonRed50, R.color.photonRed50) label = "label", startImageResource = android.R.drawable.ic_menu_report_image, iconTintColorResource = android.R.color.black, textColorResource = android.R.color.black, highlight = BrowserMenuHighlightableItem.Highlight( startImageResource = android.R.drawable.ic_menu_camera, endImageResource = android.R.drawable.ic_menu_add, backgroundResource = R.color.photonRed50, colorResource = R.color.photonRed50 ), isHighlighted = { shouldHighlight } ) val view = inflate(item) Loading @@ -62,15 +76,23 @@ class BrowserMenuHighlightableItemTest { val textView = view.findViewById<TextView>(R.id.text) assertEquals(textView.text, "label") val imageView = view.findViewById<AppCompatImageView>(R.id.image) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) val startImageView = view.findViewById<AppCompatImageView>(R.id.image) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.end_image) // Highlight should not exist before set assertEquals(android.R.drawable.ic_menu_report_image, Shadows.shadowOf(startImageView.drawable).createdFromResId) assertFalse(highlightImageView.isVisible) assertNotNull(imageView.drawable) assertNotNull(imageView.imageTintList) assertEquals(highlightImageView.visibility, View.VISIBLE) assertNotNull(highlightImageView.drawable) shouldHighlight = true item.invalidate(view) // Highlight should now exist assertTrue(highlightImageView.isVisible) assertNotNull(startImageView.imageTintList) assertEquals(android.R.drawable.ic_menu_camera, Shadows.shadowOf(startImageView.drawable).createdFromResId) assertEquals(android.R.drawable.ic_menu_add, Shadows.shadowOf(highlightImageView.drawable).createdFromResId) assertNotNull(highlightImageView.imageTintList) assertNotNull(view.background) assertEquals(R.color.photonRed50, Shadows.shadowOf(view.background).createdFromResId) } @Test Loading @@ -78,16 +100,20 @@ class BrowserMenuHighlightableItemTest { val item = BrowserMenuHighlightableItem( "label", android.R.drawable.ic_menu_report_image, highlight = BrowserMenuHighlightableItem.Highlight(android.R.drawable.ic_menu_report_image, R.color.photonRed50, R.color.photonRed50) highlight = BrowserMenuHighlightableItem.Highlight( endImageResource = android.R.drawable.ic_menu_report_image, backgroundResource = R.color.photonRed50, colorResource = R.color.photonRed50 ) ) val view = inflate(item) val imageView = view.findViewById<AppCompatImageView>(R.id.image) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) val startImageView = view.findViewById<AppCompatImageView>(R.id.image) val endImageView = view.findViewById<AppCompatImageView>(R.id.end_image) assertNull(imageView.imageTintList) assertNull(highlightImageView.imageTintList) assertNull(startImageView.imageTintList) assertNull(endImageView.imageTintList) } @Test Loading @@ -99,8 +125,8 @@ class BrowserMenuHighlightableItemTest { ) val view = inflate(item) val highlightImageView = view.findViewById<AppCompatImageView>(R.id.highlight_image) assertEquals(highlightImageView.visibility, View.GONE) val endImageView = view.findViewById<AppCompatImageView>(R.id.end_image) assertEquals(endImageView.visibility, View.GONE) } private fun inflate(item: BrowserMenuHighlightableItem): View { Loading
components/browser/toolbar/src/test/java/mozilla/components/browser/toolbar/BrowserToolbarTest.kt +9 −9 Original line number Diff line number Diff line Loading @@ -634,7 +634,7 @@ class BrowserToolbarTest { @Test fun `BrowserToolbar Button must set padding`() { var button = BrowserToolbar.Button(mock(), "imageResource", visible = { true }) {} var button = BrowserToolbar.Button(mock(), "endImageResource", visible = { true }) {} val linearLayout = LinearLayout(testContext) var view = button.createView(linearLayout) val padding = Padding(0, 0, 0, 0) Loading @@ -642,20 +642,20 @@ class BrowserToolbarTest { assertEquals(view.paddingTop, ACTION_PADDING_DP) assertEquals(view.paddingRight, ACTION_PADDING_DP) assertEquals(view.paddingBottom, ACTION_PADDING_DP) button = BrowserToolbar.Button(mock(), "imageResource", padding = padding.copy(left = 16)) {} button = BrowserToolbar.Button(mock(), "endImageResource", padding = padding.copy(left = 16)) {} view = button.createView(linearLayout) assertEquals(view.paddingLeft, 16) button = BrowserToolbar.Button(mock(), "imageResource", padding = padding.copy(top = 16)) {} button = BrowserToolbar.Button(mock(), "endImageResource", padding = padding.copy(top = 16)) {} view = button.createView(linearLayout) assertEquals(view.paddingTop, 16) button = BrowserToolbar.Button(mock(), "imageResource", padding = padding.copy(right = 16)) {} button = BrowserToolbar.Button(mock(), "endImageResource", padding = padding.copy(right = 16)) {} view = button.createView(linearLayout) assertEquals(view.paddingRight, 16) button = BrowserToolbar.Button(mock(), "imageResource", padding = padding.copy(bottom = 16)) {} button = BrowserToolbar.Button(mock(), "endImageResource", padding = padding.copy(bottom = 16)) {} view = button.createView(linearLayout) assertEquals(view.paddingBottom, 16) button = BrowserToolbar.Button( mock(), "imageResource", mock(), "endImageResource", padding = Padding(16, 20, 24, 28) ) {} view = button.createView(linearLayout) Loading @@ -671,7 +671,7 @@ class BrowserToolbarTest { var button = BrowserToolbar.ToggleButton( mock(), mock(), "imageResource", "endImageResource", "", visible = { true }, selected = false, Loading @@ -687,7 +687,7 @@ class BrowserToolbarTest { button = BrowserToolbar.ToggleButton( mock(), mock(), "imageResource", "endImageResource", "", visible = { true }, selected = false, Loading @@ -704,7 +704,7 @@ class BrowserToolbarTest { button = BrowserToolbar.ToggleButton( mock(), mock(), "imageResource", "endImageResource", "", selected = false, background = 0 Loading
components/browser/toolbar/src/test/java/mozilla/components/browser/toolbar/display/MenuButtonTest.kt +2 −2 Original line number Diff line number Diff line Loading @@ -107,8 +107,8 @@ class MenuButtonTest { val highlightMenuBuilder = spy(BrowserMenuBuilder(listOf( BrowserMenuHighlightableItem( label = "Test", imageResource = 0, highlight = BrowserMenuHighlightableItem.Highlight(0, colorResource, colorResource), startImageResource = 0, highlight = BrowserMenuHighlightableItem.Highlight(0, 0, colorResource, colorResource), isHighlighted = { isHighlighted } ) ))) Loading