1
0
Fork 0

For #6666: Adds back button to search screen

master
Sawyer Blatz 2019-12-23 11:15:34 -05:00 committed by Jeff Boek
parent 4fa6edc86e
commit 4fd3eb53d1
6 changed files with 39 additions and 23 deletions

View File

@ -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))

View File

@ -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
}
}
}

View File

@ -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)
}

View File

@ -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))
}
}

View File

@ -33,6 +33,19 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageButton
android:id="@+id/back_button"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_margin="8dp"
android:tint="?primaryText"
android:src="@drawable/mozac_ic_back"
android:background="?selectableItemBackground"
android:contentDescription="@string/browser_menu_back"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/toolbar_wrapper"
app:layout_constraintBottom_toBottomOf="@id/toolbar_wrapper"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/toolbar_wrapper"
android:layout_width="0dp"
@ -41,7 +54,7 @@
android:outlineProvider="paddedBounds"
android:transitionName="toolbar_wrapper_transition"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintStart_toEndOf="@id/back_button"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
@ -68,7 +81,7 @@
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@id/toolbar_wrapper"
app:layout_constraintTop_toBottomOf="@id/toolbar_wrapper"
app:layout_constraintStart_toStartOf="@id/toolbar_wrapper"
app:layout_constraintStart_toStartOf="@id/back_button"
app:layout_constraintBottom_toBottomOf="@id/awesomeBar_barrier">
<ImageView
@ -126,7 +139,7 @@
android:layout_marginTop="@dimen/search_fragment_shortcuts_label_margin_vertical"
android:layout_marginEnd="@dimen/search_fragment_shortcuts_label_margin_horizontal"
android:text="@string/search_shortcuts_search_with_2"
app:layout_constraintStart_toStartOf="@id/toolbar_wrapper"
app:layout_constraintStart_toStartOf="@id/back_button"
app:layout_constraintTop_toBottomOf="@id/awesomeBar_barrier"
tools:text="This time, search with:" />
@ -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" />
<LinearLayout
android:id="@+id/pillWrapper"
android:id="@+id/pill_wrapper"
android:layout_width="0dp"
android:layout_height="@dimen/search_fragment_pill_height"
android:background="?foundation"
@ -161,7 +174,7 @@
app:layout_constraintStart_toStartOf="parent">
<ToggleButton
android:id="@+id/searchScanButton"
android:id="@+id/search_scan_button"
style="@style/search_pill"
android:layout_marginEnd="@dimen/search_fragment_scan_button_margin_end"
app:drawableStartCompat="@drawable/ic_qr"
@ -169,7 +182,7 @@
android:textOn="@string/search_scan_button" />
<ToggleButton
android:id="@+id/searchShortcutsButton"
android:id="@+id/search_shortcuts_button"
style="@style/search_pill"
app:drawableStartCompat="@drawable/ic_search"
android:textOff="@string/search_shortcuts_button"

View File

@ -2,7 +2,6 @@
import java.io.File
import java.io.IOException
import java.util.concurrent.TimeUnit
import java.util.stream.Stream
/**
* Script for use when compiling a changelog. It will find all GH mentions in commit
@ -27,7 +26,7 @@ val DEBUG = false
println("Starting PrintMentionedIssuesAndPrs.kts")
val tag = try { args[0] } catch(e: IndexOutOfBoundsException) { getHighestVersionedTag() }
val tag = try { args[0] } catch (e: IndexOutOfBoundsException) { getHighestVersionedTag() }
debug { "Last tag: $tag" }
val commonCommit = getMostRecentCommonAncestorWithMaster(tag)
@ -91,7 +90,7 @@ fun runCommand(cmd: String, workingDir: File = File(".")): String {
debug { "Err: ${proc.errorStream.bufferedReader().use { it.readText() }}" }
return proc.inputStream.bufferedReader().use { it.readText() }
} catch(e: IOException) {
} catch (e: IOException) {
e.printStackTrace()
throw(e)
}