diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsTrackingController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsTrackingController.kt
index 095715955..f6dc9e775 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsTrackingController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsTrackingController.kt
@@ -4,6 +4,7 @@ import android.app.Activity
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
+import android.widget.Toast
import androidx.preference.PreferenceGroup
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.R
@@ -26,6 +27,7 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory
import eu.kanade.tachiyomi.util.preference.switchPreference
import eu.kanade.tachiyomi.util.preference.titleRes
import eu.kanade.tachiyomi.util.system.openInBrowser
+import eu.kanade.tachiyomi.util.system.toast
import eu.kanade.tachiyomi.widget.preference.LoginPreference
import uy.kohesive.injekt.injectLazy
import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys
@@ -81,8 +83,16 @@ class SettingsTrackingController :
}
trackPreference(trackManager.komga) {
- trackManager.komga.loginNoop()
- updatePreference(trackManager.komga.id)
+ val acceptedSources = trackManager.komga.getAcceptedSources()
+ val hasValidSourceInstalled = sourceManager.getCatalogueSources()
+ .any { it::class.qualifiedName in acceptedSources }
+
+ if (hasValidSourceInstalled) {
+ trackManager.komga.loginNoop()
+ updatePreference(trackManager.komga.id)
+ } else {
+ context.toast(R.string.tracker_komga_warning, Toast.LENGTH_LONG)
+ }
}
infoPreference(R.string.enhanced_tracking_info)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ffb2ca229..6483f16f6 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -587,6 +587,7 @@
MyAnimeList
Kitsu
Komga
+ This tracker is only compatible with the Komga source.
Bangumi
Shikimori
Tracking