diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/main/SearchActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/main/SearchActivity.kt index 8cbfa8e1d7..c8a7f68f5d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/main/SearchActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/main/SearchActivity.kt @@ -1,11 +1,16 @@ package eu.kanade.tachiyomi.ui.main import android.app.SearchManager +import android.content.Context import android.content.Intent import android.os.Bundle import com.bluelinelabs.conductor.Controller +import com.bluelinelabs.conductor.RouterTransaction +import com.bluelinelabs.conductor.changehandler.FadeChangeHandler +import com.bluelinelabs.conductor.changehandler.SimpleSwapChangeHandler import eu.kanade.tachiyomi.data.notification.NotificationReceiver import eu.kanade.tachiyomi.ui.base.controller.DialogController +import eu.kanade.tachiyomi.ui.manga.MangaDetailsController import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate import eu.kanade.tachiyomi.ui.source.global_search.GlobalSearchController import eu.kanade.tachiyomi.util.view.gone @@ -30,7 +35,9 @@ class SearchActivity : MainActivity() { } private fun popToRoot() { - if (!router.handleBack()) { + if (intent.action == SHORTCUT_MANGA) { + onBackPressed() + } else if (!router.handleBack()) { val intent = Intent(this, MainActivity::class.java).apply { flags = Intent.FLAG_ACTIVITY_NEW_TASK } @@ -80,8 +87,24 @@ class SearchActivity : MainActivity() { router.replaceTopController(GlobalSearchController(query, filter).withFadeTransaction()) } } + SHORTCUT_MANGA -> { + val extras = intent.extras ?: return false + router.replaceTopController( + RouterTransaction.with(MangaDetailsController(extras)) + .pushChangeHandler(SimpleSwapChangeHandler()) + .popChangeHandler(FadeChangeHandler())) + } else -> return false } return true } + + companion object { + fun openMangaIntent(context: Context, id: Long) = Intent(context, SearchActivity::class + .java) + .apply { + action = SHORTCUT_MANGA + putExtra(MangaDetailsController.MANGA_EXTRA, id) + } + } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 8a78c74cfa..4aaefe5d4a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -35,6 +35,7 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.ui.base.MaterialMenuSheet import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity +import eu.kanade.tachiyomi.ui.main.SearchActivity import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.AddToLibraryFirst import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.Error import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.Success @@ -327,6 +328,13 @@ class ReaderActivity : BaseRxActivity(), onBackPressed() } + toolbar.setOnClickListener { + presenter.manga?.id?.let { id -> + SearchActivity.openMangaIntent(this, id) + startActivity(intent) + } + } + // Init listeners on bottom menu page_seekbar.setOnSeekBarChangeListener(object : SimpleSeekBarListener() { override fun onProgressChanged(seekBar: SeekBar, value: Int, fromUser: Boolean) {