From 9d18bbad123ce09d99c0e7b32bf9f64a5eed8eaf Mon Sep 17 00:00:00 2001 From: Sawyer Blatz Date: Wed, 13 Mar 2019 11:12:58 -0700 Subject: [PATCH] Closes #847: Implement onCancelEditing to handle keyboard backPress (#929) --- .../org/mozilla/fenix/components/toolbar/ToolbarComponent.kt | 1 + .../org/mozilla/fenix/components/toolbar/ToolbarUIView.kt | 3 ++- app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarComponent.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarComponent.kt index 9907ee234..a2fe8e7ae 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarComponent.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarComponent.kt @@ -67,6 +67,7 @@ sealed class SearchAction : Action { data class TextChanged(val query: String) : SearchAction() object ToolbarTapped : SearchAction() data class ToolbarMenuItemTapped(val item: ToolbarMenu.Item) : SearchAction() + object EditingCanceled : SearchAction() } sealed class SearchChange : Change { diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarUIView.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarUIView.kt index d743e1f30..7fc709199 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarUIView.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarUIView.kt @@ -55,7 +55,8 @@ class ToolbarUIView( setOnEditListener(object : mozilla.components.concept.toolbar.Toolbar.OnEditListener { override fun onCancelEditing(): Boolean { - return true + actionEmitter.onNext(SearchAction.EditingCanceled) + return false } override fun onTextChanged(text: String) { url = text 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 0bfb91a49..60a81063c 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -79,6 +79,7 @@ class SearchFragment : Fragment() { override fun onStart() { super.onStart() + getAutoDisposeObservable() .subscribe { when (it) { @@ -91,6 +92,9 @@ class SearchFragment : Fragment() { is SearchAction.TextChanged -> { getManagedEmitter().onNext(AwesomeBarChange.UpdateQuery(it.query)) } + is SearchAction.EditingCanceled -> { + activity?.onBackPressed() + } } }