From 4fd3eb53d1262e782198bbdb80964b4a17e45b25 Mon Sep 17 00:00:00 2001 From: Sawyer Blatz Date: Mon, 23 Dec 2019 11:15:34 -0500 Subject: [PATCH] For #6666: Adds back button to search screen --- .../mozilla/fenix/ui/robots/SearchRobot.kt | 2 +- .../mozilla/fenix/search/SearchFragment.kt | 14 ++++++---- .../org/mozilla/fenix/search/SearchLayouts.kt | 8 +++--- .../fenix/search/awesomebar/AwesomeBarView.kt | 6 ++--- app/src/main/res/layout/fragment_search.xml | 27 ++++++++++++++----- .../PrintMentionedIssuesAndPrs.kts | 5 ++-- 6 files changed, 39 insertions(+), 23 deletions(-) diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt index c970a8c74..5188db512 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt @@ -117,7 +117,7 @@ private fun allowPermissionButton(): UiObject { private fun scanButton(): ViewInteraction { mDevice.waitNotNull(Until.findObject(By.res("org.mozilla.fenix.debug:id/search_scan_button")), TestAssetHelper.waitingTime) - return onView(allOf(withId(R.id.searchScanButton))) + return onView(allOf(withId(R.id.search_scan_button))) } private fun clearButton() = onView(withId(R.id.mozac_browser_toolbar_clear_view)) diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index 8ce82bc82..99997c386 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -144,7 +144,7 @@ class SearchFragment : Fragment(), UserInteractionHandler { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - searchScanButton.visibility = if (context?.hasCamera() == true) View.VISIBLE else View.GONE + search_scan_button.visibility = if (context?.hasCamera() == true) View.VISIBLE else View.GONE layoutComponents(view.search_layout) qrFeature.set( @@ -155,7 +155,7 @@ class SearchFragment : Fragment(), UserInteractionHandler { requestPermissions(permissions, REQUEST_CODE_CAMERA_PERMISSIONS) }, onScanResult = { result -> - searchScanButton.isChecked = false + search_scan_button.isChecked = false activity?.let { AlertDialog.Builder(it).apply { val spannable = resources.getSpannable( @@ -189,12 +189,16 @@ class SearchFragment : Fragment(), UserInteractionHandler { view = view ) - view.searchScanButton.setOnClickListener { + view.search_scan_button.setOnClickListener { toolbarView.view.clearFocus() requireComponents.analytics.metrics.track(Event.QRScannerOpened) qrFeature.get()?.scan(R.id.container) } + view.back_button.setOnClickListener { + findNavController().popBackStack() + } + val stubListener = ViewStub.OnInflateListener { _, inflated -> inflated.learn_more.setOnClickListener { (activity as HomeActivity) @@ -287,7 +291,7 @@ class SearchFragment : Fragment(), UserInteractionHandler { override fun onBackPressed(): Boolean { return when { qrFeature.onBackPressed() -> { - view?.searchScanButton?.isChecked = false + view?.search_scan_button?.isChecked = false toolbarView.view.requestFocus() } else -> awesomeBarView.isKeyboardDismissedProgrammatically @@ -322,7 +326,7 @@ class SearchFragment : Fragment(), UserInteractionHandler { if (context.isPermissionGranted(Manifest.permission.CAMERA)) { permissionDidUpdate = true } else { - view?.searchScanButton?.isChecked = false + view?.search_scan_button?.isChecked = false } } } diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchLayouts.kt b/app/src/main/java/org/mozilla/fenix/search/SearchLayouts.kt index 95d7cb66c..92a2f90c9 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchLayouts.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchLayouts.kt @@ -37,13 +37,13 @@ internal fun SearchFragment.setInExperimentConstraints(layout: ConstraintLayout) // Move the search bar to the bottom of the layout clear(toolbar_wrapper.id, TOP) - connect(toolbar_wrapper.id, BOTTOM, pillWrapper.id, TOP) + connect(toolbar_wrapper.id, BOTTOM, pill_wrapper.id, TOP) connect(awesomeBar.id, TOP, PARENT_ID, TOP) connect(awesomeBar.id, BOTTOM, toolbar_wrapper.id, TOP) (awesomeBar.layoutManager as? LinearLayoutManager)?.reverseLayout = true - connect(pillWrapper.id, BOTTOM, PARENT_ID, BOTTOM) + connect(pill_wrapper.id, BOTTOM, PARENT_ID, BOTTOM) applyTo(layout) } @@ -63,10 +63,10 @@ internal fun SearchFragment.setOutOfExperimentConstraints(layout: ConstraintLayo clear(awesomeBar.id, TOP) connect(awesomeBar.id, TOP, search_with_shortcuts.id, BOTTOM) - connect(awesomeBar.id, BOTTOM, pillWrapper.id, TOP) + connect(awesomeBar.id, BOTTOM, pill_wrapper.id, TOP) (awesomeBar.layoutManager as? LinearLayoutManager)?.reverseLayout = false - connect(pillWrapper.id, BOTTOM, PARENT_ID, BOTTOM) + connect(pill_wrapper.id, BOTTOM, PARENT_ID, BOTTOM) applyTo(layout) } diff --git a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt index 3e7a48bcc..24e88d35e 100644 --- a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt +++ b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt @@ -176,7 +176,7 @@ class AwesomeBarView( } searchSuggestionProviderMap = HashMap() - searchShortcutsButton.setOnClickListener { + search_shortcuts_button.setOnClickListener { interactor.onSearchShortcutsButtonClicked() } @@ -213,11 +213,11 @@ class AwesomeBarView( private fun updateSearchShortcutsIcon(searchState: SearchFragmentState) { with(container.context) { val showShortcuts = searchState.showSearchShortcuts - searchShortcutsButton?.isChecked = showShortcuts + search_shortcuts_button?.isChecked = showShortcuts val color = if (showShortcuts) R.attr.contrastText else R.attr.primaryText - searchShortcutsButton.compoundDrawables[0]?.setTint(getColorFromAttr(color)) + search_shortcuts_button.compoundDrawables[0]?.setTint(getColorFromAttr(color)) } } diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index ed934a8fe..bdadc2052 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -33,6 +33,19 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> + + @@ -142,12 +155,12 @@ android:layout_width="match_parent" android:layout_height="1dp" android:background="?neutralFaded" - app:layout_constraintBottom_toTopOf="@id/pillWrapper" + app:layout_constraintBottom_toTopOf="@id/pill_wrapper" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" />