diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
index 8940d068b..c22aaa2e4 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
@@ -268,4 +268,6 @@ object PreferenceKeys {
const val sources_tab_source_categories = "sources_tab_source_categories"
const val sourcesSort = "sources_sort"
+
+ const val recommendsInOverflow = "recommends_in_overflow"
}
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
index f43c6fb1c..01a0f7c1c 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
@@ -368,4 +368,6 @@ class PreferencesHelper(val context: Context) {
fun sourcesTabSourcesInCategories() = flowPrefs.getStringSet(Keys.sources_tab_source_categories, mutableSetOf())
fun sourceSorting() = flowPrefs.getInt(Keys.sourcesSort, 0)
+
+ fun recommendsInOverflow() = flowPrefs.getBoolean(Keys.recommendsInOverflow, false)
}
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
index 22e022c3d..a42a77e32 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
@@ -322,6 +322,7 @@ class MangaController :
// SY -->
if (presenter.manga.favorite) menu.findItem(R.id.action_edit).isVisible = true
+ if (preferences.recommendsInOverflow().get()) menu.findItem(R.id.action_recommend).isVisible = true
// SY <--
}
@@ -338,6 +339,10 @@ class MangaController :
)
editMangaDialog?.showDialog(router)
}
+
+ R.id.action_recommend -> {
+ openRecommends()
+ }
// SY <--
R.id.action_edit_categories -> onCategoriesClick()
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
index 35d33d765..43a7f3fb8 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
@@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.glide.GlideApp
import eu.kanade.tachiyomi.data.glide.MangaThumbnail
import eu.kanade.tachiyomi.data.glide.toMangaThumbnail
+import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.databinding.MangaInfoHeaderBinding
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceManager
@@ -46,6 +47,7 @@ import reactivecircus.flowbinding.android.view.clicks
import reactivecircus.flowbinding.android.view.longClicks
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
+import uy.kohesive.injekt.injectLazy
class MangaInfoHeaderAdapter(
private val controller: MangaController,
@@ -57,6 +59,7 @@ class MangaInfoHeaderAdapter(
private var source: Source = controller.presenter.source
private var trackCount: Int = 0
// SY -->
+ private val preferences: PreferencesHelper by injectLazy()
private var meta: RaisedSearchMetadata? = controller.presenter.meta
// SY <--
@@ -243,7 +246,7 @@ class MangaInfoHeaderAdapter(
// EXH -->
if (controller.smartSearchConfig == null) {
- binding.recommendBtn.visible()
+ binding.recommendBtn.visibleIf { !preferences.recommendsInOverflow().get() }
binding.recommendBtn.clicks()
.onEach { controller.openRecommends() }
.launchIn(scope)
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
index 1fa860840..780c08c00 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
@@ -267,6 +267,13 @@ class SettingsGeneralController : SettingsController() {
summaryRes = R.string.auto_solve_captchas_summary
defaultValue = false
}
+
+ switchPreference {
+ key = Keys.recommendsInOverflow
+ titleRes = R.string.put_recommends_in_overflow
+ summaryRes = R.string.put_recommends_in_overflow_summary
+ defaultValue = false
+ }
}
// <-- EXH
}
diff --git a/app/src/main/res/menu/manga.xml b/app/src/main/res/menu/manga.xml
index 635ebcbff..7d0468e18 100644
--- a/app/src/main/res/menu/manga.xml
+++ b/app/src/main/res/menu/manga.xml
@@ -51,4 +51,10 @@
android:title="@string/action_edit"
android:visible="false"
app:showAsAction="never" />
+
+
diff --git a/app/src/main/res/values/strings_sy.xml b/app/src/main/res/values/strings_sy.xml
index 386a4420a..5c06b583d 100644
--- a/app/src/main/res/values/strings_sy.xml
+++ b/app/src/main/res/values/strings_sy.xml
@@ -136,6 +136,8 @@
Expand all search filters by default
Automatically solve captcha
Use HIGHLY EXPERIMENTAL automatic ReCAPTCHA solver. Will be grayed out if unsupported by your device.
+ Recommendations in overflow
+ Put the recommendations button in the overflow menu instead of on the manga page
Use last saved pre-migration preferences and sources to mass migrate