diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt index 7807c83762cb..a9087bc92517 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt @@ -106,6 +106,7 @@ import eu.kanade.tachiyomi.ui.setting.SettingsController import eu.kanade.tachiyomi.ui.setting.SettingsMainController import eu.kanade.tachiyomi.ui.source.BrowseController import eu.kanade.tachiyomi.ui.source.browse.BrowseSourceController +import eu.kanade.tachiyomi.ui.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.util.manga.MangaCoverMetadata import eu.kanade.tachiyomi.util.manga.MangaShortcutManager import eu.kanade.tachiyomi.util.system.contextCompatDrawable @@ -373,7 +374,6 @@ open class MainActivity : BaseActivity() { } nav.getItemView(R.id.nav_recents)?.setOnLongClickListener { lifecycleScope.launchUI { - Timber.i("Long pressed on R.id.nav_recents") val lastReadChapter = db.getHistoryUngrouped("", 0, true).executeOnIO().maxByOrNull { it.history.last_read } lastReadChapter ?: return@launchUI @@ -383,15 +383,16 @@ open class MainActivity : BaseActivity() { val chapter = lastReadChapter.chapter activity.apply { startActivity(ReaderActivity.newIntent(activity, manga, chapter)) } } + if (nav.selectedItemId != R.id.nav_recents) { + nav.selectedItemId = R.id.nav_recents + } true } nav.getItemView(R.id.nav_browse)?.setOnLongClickListener { - nav.selectedItemId = R.id.nav_browse - nav.post { - val controller = - router.backstack.firstOrNull()?.controller as? BottomSheetController - controller?.showSheet() + if (nav.selectedItemId != R.id.nav_browse) { + nav.selectedItemId = R.id.nav_browse } + router.pushController(GlobalSearchController().withFadeTransaction()) true } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchController.kt index 6faee3da0cad..aa2519effd10 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchController.kt @@ -163,7 +163,9 @@ open class GlobalSearchController( activityBinding?.searchToolbar?.setQueryHint(view?.context?.getString(R.string.global_search), false) activityBinding?.searchToolbar?.searchItem?.expandActionView() activityBinding?.searchToolbar?.searchView?.setQuery(presenter.query, false) - + if (presenter.query.isNullOrBlank()) { + activityBinding?.searchToolbar?.searchView?.requestFocus() + } setOnQueryTextChangeListener(activityBinding?.searchToolbar?.searchView, onlyOnSubmit = true, hideKbOnSubmit = true) { // try to handle the query as a manga URL applicationContext?.extensionIntentForText(it ?: "")?.let { @@ -182,7 +184,9 @@ open class GlobalSearchController( val searchItem = activityBinding?.searchToolbar?.searchItem ?: return searchItem.expandActionView() searchView.setQuery(presenter.query, false) - searchView.clearFocus() + if (!presenter.query.isNullOrBlank()) { + searchView.clearFocus() + } } if (type == ControllerChangeType.POP_ENTER && lastPosition > -1) { val holder = binding.recycler.findViewHolderForAdapterPosition(lastPosition) as? GlobalSearchHolder