From b77c5909109ca91a8fffe791ec8a016bd531a4b3 Mon Sep 17 00:00:00 2001 From: Viktor De Pasquale Date: Thu, 20 Jun 2019 19:49:14 +0200 Subject: [PATCH] Fixed the searchView being collapsed after searching through it Now they have their state synced with viewModel to allow continuity --- .../magisk/ui/hide/MagiskHideFragment.kt | 18 ++++++++++++++-- .../magisk/ui/module/ReposFragment.kt | 21 ++++++++++++++++--- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/hide/MagiskHideFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/hide/MagiskHideFragment.kt index 9d703b3a4..3c0a14519 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/hide/MagiskHideFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/hide/MagiskHideFragment.kt @@ -25,8 +25,22 @@ class MagiskHideFragment : MagiskFragment(), override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.menu_repo, menu) - (menu.findItem(R.id.repo_search).actionView as? SearchView) - ?.setOnQueryTextListener(this) + + val query = viewModel.query.value + val searchItem = menu.findItem(R.id.repo_search) + val searchView = searchItem.actionView as? SearchView + + searchView?.run { + setOnQueryTextListener(this@ReposFragment) + setQuery(query, false) + } + + if (query.isNotBlank()) { + searchItem.expandActionView() + searchView?.isIconified = false + } else { + searchItem.collapseActionView() + searchView?.isIconified = true + } } override fun onOptionsItemSelected(item: MenuItem): Boolean { @@ -84,7 +99,7 @@ class ReposFragment : MagiskFragment(), context.withExternalRW { onSuccess { val intent = Intent(activity, ClassMap[DownloadModuleService::class.java]) - .putExtra("repo", item).putExtra("install", install) + .putExtra("repo", item).putExtra("install", install) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { context.startForegroundService(intent) } else {