From c4d32bd75ccc3cb440603b6814ae88efb491e913 Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Thu, 6 Aug 2020 15:49:01 -0700 Subject: [PATCH] For #13325 - Positions toolbar according to user preference --- .../searchdialog/SearchDialogFragment.kt | 22 +++++++++++++++++++ .../res/layout/fragment_search_dialog.xml | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/searchdialog/SearchDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/searchdialog/SearchDialogFragment.kt index dad829902..241e51e03 100644 --- a/app/src/main/java/org/mozilla/fenix/searchdialog/SearchDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/searchdialog/SearchDialogFragment.kt @@ -9,8 +9,13 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.appcompat.app.AppCompatDialogFragment +import androidx.constraintlayout.widget.ConstraintProperties.BOTTOM +import androidx.constraintlayout.widget.ConstraintProperties.PARENT_ID +import androidx.constraintlayout.widget.ConstraintProperties.TOP +import androidx.constraintlayout.widget.ConstraintSet import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs +import androidx.recyclerview.widget.LinearLayoutManager import kotlinx.android.synthetic.main.fragment_search.view.* import kotlinx.android.synthetic.main.fragment_search_dialog.* import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -19,6 +24,7 @@ import mozilla.components.lib.state.ext.consumeFrom import mozilla.components.support.ktx.android.view.hideKeyboard import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R +import org.mozilla.fenix.components.toolbar.ToolbarPosition import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings @@ -97,6 +103,22 @@ class SearchDialogFragment : AppCompatDialogFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + if (view.context.settings().toolbarPosition == ToolbarPosition.BOTTOM) { + ConstraintSet().apply { + clone(search_wrapper) + + clear(toolbar.id, TOP) + connect(toolbar.id, BOTTOM, PARENT_ID, BOTTOM) + + clear(scrollView.id, TOP) + clear(scrollView.id, BOTTOM) + connect(scrollView.id, TOP, PARENT_ID, TOP) + connect(scrollView.id, BOTTOM, toolbar.id, TOP) + + applyTo(search_wrapper) + } + } + consumeFrom(store) { awesomeBar?.visibility = if (it.query.isEmpty()) View.INVISIBLE else View.VISIBLE toolbarView.update(it) diff --git a/app/src/main/res/layout/fragment_search_dialog.xml b/app/src/main/res/layout/fragment_search_dialog.xml index faac704e3..83ad11ef1 100644 --- a/app/src/main/res/layout/fragment_search_dialog.xml +++ b/app/src/main/res/layout/fragment_search_dialog.xml @@ -2,7 +2,9 @@ -