Require Komga to be installed when attempting to setup tracker (closes #5491)

(cherry picked from commit a69a8337169798710f9e0cd7072b3fd3be4a5917)
This commit is contained in:
arkon 2021-07-18 13:12:47 -04:00 committed by Jobobby04
parent 4bad159174
commit 5e89c1c11c
2 changed files with 13 additions and 2 deletions

View File

@ -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)

View File

@ -587,6 +587,7 @@
<string name="tracker_myanimelist" translatable="false">MyAnimeList</string>
<string name="tracker_kitsu" translatable="false">Kitsu</string>
<string name="tracker_komga" translatable="false">Komga</string>
<string name="tracker_komga_warning">This tracker is only compatible with the Komga source.</string>
<string name="tracker_bangumi" translatable="false">Bangumi</string>
<string name="tracker_shikimori" translatable="false">Shikimori</string>
<string name="manga_tracking_tab">Tracking</string>