1
0
Fork 0

For #364 - Moves edit mode to be a part of the toolbar component state

Co-authored-by: Sawyer Blatz <sdblatz@gmail.com>
Co-authored-by: Emily Kager <emilykager@gmail.com>
master
Jeff Boek 2019-02-04 14:23:15 -08:00
parent abd08453ce
commit dbea570747
3 changed files with 9 additions and 11 deletions

View File

@ -19,6 +19,7 @@ import org.mozilla.fenix.search.awesomebar.AwesomeBarAction
import org.mozilla.fenix.search.awesomebar.AwesomeBarChange import org.mozilla.fenix.search.awesomebar.AwesomeBarChange
import org.mozilla.fenix.search.awesomebar.AwesomeBarComponent import org.mozilla.fenix.search.awesomebar.AwesomeBarComponent
import org.mozilla.fenix.search.toolbar.SearchAction import org.mozilla.fenix.search.toolbar.SearchAction
import org.mozilla.fenix.search.toolbar.SearchState
import org.mozilla.fenix.search.toolbar.ToolbarComponent import org.mozilla.fenix.search.toolbar.ToolbarComponent
import org.mozilla.fenix.search.toolbar.ToolbarUIView import org.mozilla.fenix.search.toolbar.ToolbarUIView
@ -32,17 +33,12 @@ class SearchFragment : Fragment() {
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? { ): View? {
val view = inflater.inflate(R.layout.fragment_search, container, false) val view = inflater.inflate(R.layout.fragment_search, container, false)
toolbarComponent = ToolbarComponent(view.toolbar_wrapper, ActionBusFactory.get(this)) toolbarComponent = ToolbarComponent(view.toolbar_wrapper, ActionBusFactory.get(this), SearchState("", isEditing = true))
awesomeBarComponent = AwesomeBarComponent(view.search_layout, ActionBusFactory.get(this)) awesomeBarComponent = AwesomeBarComponent(view.search_layout, ActionBusFactory.get(this))
ActionBusFactory.get(this).logMergedObservables() ActionBusFactory.get(this).logMergedObservables()
return view return view
} }
override fun onResume() {
super.onResume()
toolbarComponent.editMode()
}
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)

View File

@ -17,7 +17,7 @@ import org.mozilla.fenix.mvi.ViewState
class ToolbarComponent( class ToolbarComponent(
private val container: ViewGroup, private val container: ViewGroup,
bus: ActionBusFactory, bus: ActionBusFactory,
override var initialState: SearchState = SearchState("") override var initialState: SearchState = SearchState("", false)
) : ) :
UIComponent<SearchState, SearchAction, SearchChange>( UIComponent<SearchState, SearchAction, SearchChange>(
bus.getManagedEmitter(SearchAction::class.java), bus.getManagedEmitter(SearchAction::class.java),
@ -34,12 +34,9 @@ class ToolbarComponent(
init { init {
render(reducer) render(reducer)
} }
fun getView(): BrowserToolbar = uiView.toolbar
fun editMode() = getView().editMode()
} }
data class SearchState(val query: String) : ViewState data class SearchState(val query: String, val isEditing: Boolean) : ViewState
sealed class SearchAction : Action { sealed class SearchAction : Action {
data class UrlCommitted(val url: String) : SearchAction() data class UrlCommitted(val url: String) : SearchAction()

View File

@ -70,6 +70,11 @@ class ToolbarUIView(
} }
override fun updateView() = Consumer<SearchState> { override fun updateView() = Consumer<SearchState> {
if (it.isEditing) {
view.editMode()
} else {
view.displayMode()
}
} }
companion object { companion object {