1
0
Fork 0

For #13473 - Fixes edge cases with Awesomebar not visible

master
Jeff Boek 2020-08-19 13:34:04 -07:00
parent 8536284c08
commit 516268406f
1 changed files with 12 additions and 2 deletions

View File

@ -20,13 +20,13 @@ import androidx.constraintlayout.widget.ConstraintProperties.TOP
import androidx.constraintlayout.widget.ConstraintSet import androidx.constraintlayout.widget.ConstraintSet
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs import androidx.navigation.fragment.navArgs
import kotlinx.android.synthetic.main.fragment_search.*
import kotlinx.android.synthetic.main.fragment_search.view.* import kotlinx.android.synthetic.main.fragment_search.view.*
import kotlinx.android.synthetic.main.fragment_search_dialog.* import kotlinx.android.synthetic.main.fragment_search_dialog.*
import kotlinx.android.synthetic.main.fragment_search_dialog.pill_wrapper import kotlinx.android.synthetic.main.fragment_search_dialog.pill_wrapper
import kotlinx.android.synthetic.main.fragment_search_dialog.search_scan_button import kotlinx.android.synthetic.main.fragment_search_dialog.search_scan_button
import kotlinx.android.synthetic.main.fragment_search_dialog.toolbar import kotlinx.android.synthetic.main.fragment_search_dialog.toolbar
import kotlinx.android.synthetic.main.fragment_search_dialog.view.* import kotlinx.android.synthetic.main.fragment_search_dialog.view.*
import kotlinx.android.synthetic.main.fragment_search_dialog.view.search_engines_shortcut_button
import kotlinx.android.synthetic.main.fragment_search_dialog.view.search_scan_button import kotlinx.android.synthetic.main.fragment_search_dialog.view.search_scan_button
import kotlinx.android.synthetic.main.fragment_search_dialog.view.toolbar import kotlinx.android.synthetic.main.fragment_search_dialog.view.toolbar
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
@ -62,6 +62,7 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler {
private lateinit var store: SearchDialogFragmentStore private lateinit var store: SearchDialogFragmentStore
private lateinit var toolbarView: ToolbarView private lateinit var toolbarView: ToolbarView
private lateinit var awesomeBarView: AwesomeBarView private lateinit var awesomeBarView: AwesomeBarView
private var firstUpdate = true
private val qrFeature = ViewBoundFeatureWrapper<QrFeature>() private val qrFeature = ViewBoundFeatureWrapper<QrFeature>()
@ -154,6 +155,10 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler {
dismissAllowingStateLoss() dismissAllowingStateLoss()
} }
view.search_engines_shortcut_button.setOnClickListener {
interactor.onSearchShortcutsButtonClicked()
}
search_scan_button.setOnClickListener { search_scan_button.setOnClickListener {
toolbarView.view.clearFocus() toolbarView.view.clearFocus()
requireComponents.analytics.metrics.track(Event.QRScannerOpened) requireComponents.analytics.metrics.track(Event.QRScannerOpened)
@ -201,9 +206,14 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler {
) )
consumeFrom(store) { consumeFrom(store) {
awesome_bar?.visibility = if (it.query.isEmpty()) View.INVISIBLE else View.VISIBLE val shouldShowAwesomebar =
!firstUpdate &&
it.query.isNotBlank()
|| it.showSearchShortcuts
awesome_bar?.visibility = if (shouldShowAwesomebar) View.VISIBLE else View.INVISIBLE
toolbarView.update(it) toolbarView.update(it)
awesomeBarView.update(it) awesomeBarView.update(it)
firstUpdate = false
} }
} }