diff --git a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt
index 3b69477f..2f798a22 100644
--- a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt
@@ -159,8 +159,7 @@ class AnimeWatchAdapter(
}
subscribeButton(false)
fragment.loadEpisodes(media.selected!!.sourceIndex, true)
- } ?: run {
- }
+ } ?: run { }
}
//settings
@@ -430,6 +429,22 @@ class AnimeWatchAdapter(
val sourceFound = media.anime.episodes!!.isNotEmpty()
binding.animeSourceNotFound.isGone = sourceFound
binding.faqbutton.isGone = sourceFound
+ if (!sourceFound && PrefManager.getVal(PrefName.SearchSources)) {
+ if (binding.animeSource.adapter.count > media.selected!!.sourceIndex + 1) {
+ val nextIndex = media.selected!!.sourceIndex + 1
+ binding.animeSource.setText(binding.animeSource.adapter
+ .getItem(nextIndex).toString(), false)
+ fragment.onSourceChange(nextIndex).apply {
+ binding.animeSourceTitle.text = showUserText
+ showUserTextListener = { MainScope().launch { binding.animeSourceTitle.text = it } }
+ binding.animeSourceDubbed.isChecked = selectDub
+ binding.animeSourceDubbedCont.isVisible = isDubAvailableSeparately()
+ setLanguageList(0, nextIndex)
+ }
+ subscribeButton(false)
+ fragment.loadEpisodes(nextIndex, false)
+ }
+ }
} else {
binding.animeSourceContinue.visibility = View.GONE
binding.animeSourceNotFound.visibility = View.GONE
diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
index 16cd3ed0..08a9bfb9 100644
--- a/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
@@ -481,6 +481,22 @@ class MangaReadAdapter(
val sourceFound = media.manga.chapters!!.isNotEmpty()
binding.animeSourceNotFound.isGone = sourceFound
binding.faqbutton.isGone = sourceFound
+ if (!sourceFound && PrefManager.getVal(PrefName.SearchSources)) {
+ if (binding.animeSource.adapter.count > media.selected!!.sourceIndex + 1) {
+ val nextIndex = media.selected!!.sourceIndex + 1
+ binding.animeSource.setText(binding.animeSource.adapter
+ .getItem(nextIndex).toString(), false)
+ fragment.onSourceChange(nextIndex).apply {
+ binding.animeSourceTitle.text = showUserText
+ showUserTextListener = { MainScope().launch { binding.animeSourceTitle.text = it } }
+ setLanguageList(0, nextIndex)
+ }
+ subscribeButton(false)
+ // invalidate if it's the last source
+ val invalidate = nextIndex == mangaReadSources.names.size - 1
+ fragment.loadChapters(nextIndex, invalidate)
+ }
+ }
} else {
binding.animeSourceContinue.visibility = View.GONE
binding.animeSourceNotFound.visibility = View.GONE
diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt
index 12b0701d..555c7330 100644
--- a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt
+++ b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt
@@ -710,6 +710,11 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
PrefManager.setVal(PrefName.ContinueMedia, isChecked)
}
+ settingsSearchSources.isChecked = PrefManager.getVal(PrefName.SearchSources)
+ settingsSearchSources.setOnCheckedChangeListener { _, isChecked ->
+ PrefManager.setVal(PrefName.SearchSources, isChecked)
+ }
+
settingsRecentlyListOnly.isChecked = PrefManager.getVal(PrefName.RecentlyListOnly)
settingsRecentlyListOnly.setOnCheckedChangeListener { _, isChecked ->
PrefManager.setVal(PrefName.RecentlyListOnly, isChecked)
diff --git a/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt b/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt
index 5149c031..ddbd84f4 100644
--- a/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt
+++ b/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt
@@ -15,6 +15,7 @@ enum class PrefName(val data: Pref) { //TODO: Split this into multiple files
NSFWExtension(Pref(Location.General, Boolean::class, true)),
SdDl(Pref(Location.General, Boolean::class, false)),
ContinueMedia(Pref(Location.General, Boolean::class, true)),
+ SearchSources(Pref(Location.General, Boolean::class, true)),
RecentlyListOnly(Pref(Location.General, Boolean::class, false)),
SettingsPreferDub(Pref(Location.General, Boolean::class, false)),
SubscriptionCheckingNotifications(Pref(Location.General, Boolean::class, true)),
diff --git a/app/src/main/res/drawable/ic_round_search_sources_24.xml b/app/src/main/res/drawable/ic_round_search_sources_24.xml
new file mode 100644
index 00000000..48e31b13
--- /dev/null
+++ b/app/src/main/res/drawable/ic_round_search_sources_24.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_settings_common.xml b/app/src/main/res/layout/activity_settings_common.xml
index 90cc38e4..acee97cd 100644
--- a/app/src/main/res/layout/activity_settings_common.xml
+++ b/app/src/main/res/layout/activity_settings_common.xml
@@ -255,7 +255,25 @@
android:elegantTextHeight="true"
android:fontFamily="@font/poppins_bold"
android:minHeight="64dp"
- android:text="@string/always_continue_shows"
+ android:text="@string/always_continue_content"
+ android:textAlignment="viewStart"
+ android:textColor="?attr/colorOnBackground"
+ app:cornerRadius="0dp"
+ app:drawableTint="?attr/colorPrimary"
+ app:showText="false"
+ app:thumbTint="@color/button_switch_track" />
+
+ Settings
Extensions
Player Settings
- Only show My Shows in Recently Updated
+ Only show my content in \"Recently Updated\"
Download Manager
Download in SD card
No SD card was Found.
@@ -369,7 +369,8 @@
Planned Anime
Planned Manga
Open image by Long Clicking
- Always continue Shows
+ Always continue previous items
+ Search next available source
Useful if you are getting Handshake Fails
Use Proxy for Timestamps
Always check for App Updates