Fix manual search using browse's menu

This commit is contained in:
Jobobby04 2020-10-01 21:43:43 -04:00
parent b4194de9e0
commit 1a55f4845c

View File

@ -4,7 +4,6 @@ import android.app.Dialog
import android.os.Bundle import android.os.Bundle
import android.view.Menu import android.view.Menu
import android.view.MenuInflater import android.view.MenuInflater
import android.view.MenuItem
import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView
import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.list.listItemsMultiChoice import com.afollestad.materialdialogs.list.listItemsMultiChoice
@ -20,6 +19,7 @@ import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListCon
import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrationInterface import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrationInterface
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchPresenter import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchPresenter
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
@ -44,10 +44,10 @@ class SearchController(
} }
override fun getTitle(): String? { override fun getTitle(): String? {
if (totalProgress > 1) { return if (totalProgress > 1) {
return "($progress/$totalProgress) ${super.getTitle()}" "($progress/$totalProgress) ${super.getTitle()}"
} else { } else {
return super.getTitle() super.getTitle()
} }
} }
@ -100,6 +100,7 @@ class SearchController(
} else router.popController(this) } else router.popController(this)
} }
@ExperimentalCoroutinesApi
override fun onMangaClick(manga: Manga) { override fun onMangaClick(manga: Manga) {
if (targetController is MigrationListController) { if (targetController is MigrationListController) {
val migrationListController = targetController as? MigrationListController val migrationListController = targetController as? MigrationListController
@ -110,8 +111,7 @@ class SearchController(
return return
} }
newManga = manga newManga = manga
val dialog = val dialog = MigrationDialog()
MigrationDialog()
dialog.targetController = this dialog.targetController = this
dialog.showDialog(router) dialog.showDialog(router)
} }
@ -164,25 +164,17 @@ class SearchController(
*/ */
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
// Inflate menu. // Inflate menu.
inflater.inflate(R.menu.source_browse, menu) inflater.inflate(R.menu.global_search, menu)
// Initialize search menu // Initialize search menu
val searchItem = menu.findItem(R.id.action_search) val searchItem = menu.findItem(R.id.action_search)
val searchView = searchItem.actionView as SearchView val searchView = searchItem.actionView as SearchView
searchItem.setOnActionExpandListener( searchItem.fixExpand({
object : MenuItem.OnActionExpandListener { searchView.onActionViewExpanded() // Required to show the query in the view
override fun onMenuItemActionExpand(item: MenuItem?): Boolean { searchView.setQuery(presenter.query, false)
searchView.onActionViewExpanded() // Required to show the query in the view true
searchView.setQuery(presenter.query, false) })
return true
}
override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
return true
}
}
)
searchView.queryTextEvents() searchView.queryTextEvents()
.filter { it is QueryTextEvent.QuerySubmitted } .filter { it is QueryTextEvent.QuerySubmitted }