Loading components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/BrowserToolbar.kt +4 −0 Original line number Diff line number Diff line Loading @@ -557,6 +557,10 @@ class BrowserToolbar @JvmOverloads constructor( return false } override fun onStop() { displayToolbar.onStop() } override fun setSearchTerms(searchTerms: String) { this.searchTerms = searchTerms } Loading components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt +4 −0 Original line number Diff line number Diff line Loading @@ -573,6 +573,10 @@ internal class DisplayToolbar( } } fun onStop() { menuView.dismissMenu() } /** * Layout the tracking protection views if they are visible and returns where the [siteSecurityIconView] * must be layout (left and right) coordinates. Loading components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/MenuButton.kt +6 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ import android.util.TypedValue import android.view.View import android.widget.FrameLayout import androidx.annotation.ColorInt import androidx.annotation.VisibleForTesting import androidx.appcompat.widget.AppCompatImageView import androidx.core.content.ContextCompat import androidx.core.view.setPadding Loading @@ -25,7 +26,7 @@ internal class MenuButton( private val parent: View ) : FrameLayout(context) { private var menu: BrowserMenu? = null @VisibleForTesting internal var menu: BrowserMenu? = null private val menuIcon = AppCompatImageView(context).apply { setPadding(resources.getDimensionPixelSize(R.dimen.mozac_browser_toolbar_menu_padding)) Loading Loading @@ -96,6 +97,10 @@ internal class MenuButton( } } fun dismissMenu() { menu?.dismiss() } fun setColorFilter(@ColorInt color: Int) { menuIcon.setColorFilter(color) } Loading components/browser/toolbar/src/test/java/mozilla/components/browser/toolbar/display/DisplayToolbarTest.kt +12 −0 Original line number Diff line number Diff line Loading @@ -1092,6 +1092,18 @@ class DisplayToolbarTest { assertNull(toolbar.displayToolbar.siteSecurityIconView.background) } @Test fun `Backgrounding the app dismisses menu if already open`() { val toolbar = mock(BrowserToolbar::class.java) val displayToolbar = DisplayToolbar(testContext, toolbar) val menuView = extractMenuView(displayToolbar) menuView.menu = mock() displayToolbar.onStop() verify(menuView.menu)?.dismiss() } companion object { private fun extractUrlView(displayToolbar: DisplayToolbar): TextView = extractView(displayToolbar) { Loading components/browser/toolbar/src/test/java/mozilla/components/browser/toolbar/display/MenuButtonTest.kt +9 −0 Original line number Diff line number Diff line Loading @@ -126,6 +126,15 @@ class MenuButtonTest { verify(context).getDrawable(R.drawable.mozac_menu_indicator) } @Test fun `menu can be dismissed`() { menuButton.menu = menu menuButton.dismissMenu() verify(menuButton.menu)?.dismiss() } private fun extractIcon() = menuButton.iterator().asSequence().find { it is AppCompatImageView } as AppCompatImageView Loading Loading
components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/BrowserToolbar.kt +4 −0 Original line number Diff line number Diff line Loading @@ -557,6 +557,10 @@ class BrowserToolbar @JvmOverloads constructor( return false } override fun onStop() { displayToolbar.onStop() } override fun setSearchTerms(searchTerms: String) { this.searchTerms = searchTerms } Loading
components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt +4 −0 Original line number Diff line number Diff line Loading @@ -573,6 +573,10 @@ internal class DisplayToolbar( } } fun onStop() { menuView.dismissMenu() } /** * Layout the tracking protection views if they are visible and returns where the [siteSecurityIconView] * must be layout (left and right) coordinates. Loading
components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/MenuButton.kt +6 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ import android.util.TypedValue import android.view.View import android.widget.FrameLayout import androidx.annotation.ColorInt import androidx.annotation.VisibleForTesting import androidx.appcompat.widget.AppCompatImageView import androidx.core.content.ContextCompat import androidx.core.view.setPadding Loading @@ -25,7 +26,7 @@ internal class MenuButton( private val parent: View ) : FrameLayout(context) { private var menu: BrowserMenu? = null @VisibleForTesting internal var menu: BrowserMenu? = null private val menuIcon = AppCompatImageView(context).apply { setPadding(resources.getDimensionPixelSize(R.dimen.mozac_browser_toolbar_menu_padding)) Loading Loading @@ -96,6 +97,10 @@ internal class MenuButton( } } fun dismissMenu() { menu?.dismiss() } fun setColorFilter(@ColorInt color: Int) { menuIcon.setColorFilter(color) } Loading
components/browser/toolbar/src/test/java/mozilla/components/browser/toolbar/display/DisplayToolbarTest.kt +12 −0 Original line number Diff line number Diff line Loading @@ -1092,6 +1092,18 @@ class DisplayToolbarTest { assertNull(toolbar.displayToolbar.siteSecurityIconView.background) } @Test fun `Backgrounding the app dismisses menu if already open`() { val toolbar = mock(BrowserToolbar::class.java) val displayToolbar = DisplayToolbar(testContext, toolbar) val menuView = extractMenuView(displayToolbar) menuView.menu = mock() displayToolbar.onStop() verify(menuView.menu)?.dismiss() } companion object { private fun extractUrlView(displayToolbar: DisplayToolbar): TextView = extractView(displayToolbar) { Loading
components/browser/toolbar/src/test/java/mozilla/components/browser/toolbar/display/MenuButtonTest.kt +9 −0 Original line number Diff line number Diff line Loading @@ -126,6 +126,15 @@ class MenuButtonTest { verify(context).getDrawable(R.drawable.mozac_menu_indicator) } @Test fun `menu can be dismissed`() { menuButton.menu = menu menuButton.dismissMenu() verify(menuButton.menu)?.dismiss() } private fun extractIcon() = menuButton.iterator().asSequence().find { it is AppCompatImageView } as AppCompatImageView Loading