diff --git a/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt
index 37ab0f053..ea5df963e 100644
--- a/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt
+++ b/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt
@@ -6,8 +6,12 @@ package org.mozilla.fenix.settings.advanced
import android.os.Bundle
import android.view.LayoutInflater
+import android.view.Menu
+import android.view.MenuInflater
import android.view.View
import android.view.ViewGroup
+import android.view.inputmethod.EditorInfo
+import androidx.appcompat.widget.SearchView
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.fragment_locale_settings.view.*
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -24,6 +28,11 @@ class LocaleSettingsFragment : Fragment() {
private lateinit var interactor: LocaleSettingsInteractor
private lateinit var localeView: LocaleSettingsView
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setHasOptionsMenu(true)
+ }
+
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@@ -42,6 +51,25 @@ class LocaleSettingsFragment : Fragment() {
return view
}
+ override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
+ inflater.inflate(R.menu.languages_list, menu)
+ val searchItem = menu.findItem(R.id.search)
+ val searchView: SearchView = searchItem.actionView as SearchView
+ searchView.imeOptions = EditorInfo.IME_ACTION_DONE
+ searchView.queryHint = getString(R.string.locale_search_hint)
+
+ searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
+ override fun onQueryTextSubmit(query: String): Boolean {
+ return false
+ }
+
+ override fun onQueryTextChange(newText: String): Boolean {
+ interactor.onSearchQueryTyped(newText)
+ return false
+ }
+ })
+ }
+
override fun onResume() {
super.onResume()
localeView.onResume()
diff --git a/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsView.kt b/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsView.kt
index 17e37cc56..acef1e947 100644
--- a/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsView.kt
+++ b/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsView.kt
@@ -7,7 +7,6 @@ package org.mozilla.fenix.settings.advanced
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.widget.SearchView
import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.component_locale_settings.view.*
import org.mozilla.fenix.R
@@ -38,17 +37,6 @@ class LocaleSettingsView(
adapter = localeAdapter
layoutManager = LinearLayoutManager(context)
}
- val searchView: SearchView = view.toolbar_container
- searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
- override fun onQueryTextSubmit(query: String): Boolean {
- return false
- }
-
- override fun onQueryTextChange(newText: String): Boolean {
- interactor.onSearchQueryTyped(newText)
- return false
- }
- })
}
fun update(state: LocaleSettingsState) {
diff --git a/app/src/main/res/layout/component_locale_settings.xml b/app/src/main/res/layout/component_locale_settings.xml
index bdb330d4e..98ccd27cd 100644
--- a/app/src/main/res/layout/component_locale_settings.xml
+++ b/app/src/main/res/layout/component_locale_settings.xml
@@ -6,23 +6,6 @@
android:focusable="true"
android:focusableInTouchMode="true">
-