Issue #35: Add simple menu with reload/forward items

Christian Sadilek 6 years ago
parent 0ff3184076
commit eb5010f68d

@ -24,6 +24,8 @@ class MainActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
toolbar.setMenuBuilder(components.menuBuilder)
toolbarFeature = ToolbarFeature(
toolbar,
components.sessionProvider.sessionManager,

@ -5,8 +5,11 @@
package mozilla.fenix.components
import android.content.Context
import android.widget.Toast
import kotlinx.coroutines.experimental.async
import mozilla.components.browser.engine.gecko.GeckoEngine
import mozilla.components.browser.menu.BrowserMenuBuilder
import mozilla.components.browser.menu.item.BrowserMenuItemToolbar
import mozilla.components.browser.search.SearchEngineManager
import mozilla.components.browser.session.Session
import mozilla.components.concept.engine.Engine
@ -14,6 +17,7 @@ import mozilla.components.feature.search.SearchUseCases
import mozilla.components.feature.session.DefaultSessionStorage
import mozilla.components.feature.session.SessionProvider
import mozilla.components.feature.session.SessionUseCases
import mozilla.fenix.R
import org.mozilla.geckoview.GeckoRuntime
/**
@ -41,4 +45,30 @@ class Components(private val applicationContext: Context) {
}
private val searchUseCases = SearchUseCases(applicationContext, searchEngineManager, sessionProvider)
val defaultSearchUseCase = { searchTerms: String -> searchUseCases.defaultSearch.invoke(searchTerms) }
// Menu
val menuBuilder by lazy { BrowserMenuBuilder(menuItems) }
private val menuItems by lazy {
listOf(
menuToolbar
)
}
private val menuToolbar by lazy {
val forward = BrowserMenuItemToolbar.Button(
mozilla.components.ui.icons.R.drawable.mozac_ic_forward,
iconTintColorResource = R.color.photonWhite,
contentDescription = "Forward") {
sessionUseCases.goForward.invoke()
}
val refresh = BrowserMenuItemToolbar.Button(
mozilla.components.ui.icons.R.drawable.mozac_ic_refresh,
iconTintColorResource = R.color.photonWhite,
contentDescription = "Refresh") {
sessionUseCases.reload.invoke()
}
BrowserMenuItemToolbar(listOf(forward, refresh))
}
}

Loading…
Cancel
Save