exclude LocalSource in last used sources

Also fixing shortcuts for missing covers
Also no longer updating shortcuts after exiting reader
This commit is contained in:
Jays2Kings 2021-04-07 23:00:40 -04:00
parent 4ea72c8963
commit c5e922334c
4 changed files with 22 additions and 12 deletions

View File

@ -31,7 +31,6 @@ import eu.kanade.tachiyomi.util.chapter.ChapterFilter
import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource
import eu.kanade.tachiyomi.util.storage.DiskUtil import eu.kanade.tachiyomi.util.storage.DiskUtil
import eu.kanade.tachiyomi.util.system.ImageUtil import eu.kanade.tachiyomi.util.system.ImageUtil
import eu.kanade.tachiyomi.util.manga.MangaShortcutManager
import eu.kanade.tachiyomi.util.system.executeOnIO import eu.kanade.tachiyomi.util.system.executeOnIO
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
@ -58,8 +57,7 @@ class ReaderPresenter(
private val downloadManager: DownloadManager = Injekt.get(), private val downloadManager: DownloadManager = Injekt.get(),
private val coverCache: CoverCache = Injekt.get(), private val coverCache: CoverCache = Injekt.get(),
private val preferences: PreferencesHelper = Injekt.get(), private val preferences: PreferencesHelper = Injekt.get(),
private val chapterFilter: ChapterFilter = Injekt.get(), private val chapterFilter: ChapterFilter = Injekt.get()
private val mangaShortcutManager: MangaShortcutManager = Injekt.get()
) : BasePresenter<ReaderActivity>() { ) : BasePresenter<ReaderActivity>() {
/** /**
@ -155,7 +153,6 @@ class ReaderPresenter(
saveChapterProgress(currentChapters.currChapter) saveChapterProgress(currentChapters.currChapter)
saveChapterHistory(currentChapters.currChapter) saveChapterHistory(currentChapters.currChapter)
} }
mangaShortcutManager.updateShortcuts()
} }
/** /**

View File

@ -28,6 +28,7 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.getOrDefault import eu.kanade.tachiyomi.data.preference.getOrDefault
import eu.kanade.tachiyomi.databinding.BrowseControllerBinding import eu.kanade.tachiyomi.databinding.BrowseControllerBinding
import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.ui.base.controller.BaseController import eu.kanade.tachiyomi.ui.base.controller.BaseController
import eu.kanade.tachiyomi.ui.extension.SettingsExtensionsController import eu.kanade.tachiyomi.ui.extension.SettingsExtensionsController
@ -440,11 +441,15 @@ class BrowseController :
*/ */
private fun openCatalogue(source: CatalogueSource, controller: BrowseSourceController) { private fun openCatalogue(source: CatalogueSource, controller: BrowseSourceController) {
preferences.lastUsedCatalogueSource().set(source.id) preferences.lastUsedCatalogueSource().set(source.id)
if (source !is LocalSource) {
val list = preferences.lastUsedSources().get().toMutableSet() val list = preferences.lastUsedSources().get().toMutableSet()
list.removeAll { it.startsWith("${source.id}:") } list.removeAll { it.startsWith("${source.id}:") }
list.add("${source.id}:${Date().time}") list.add("${source.id}:${Date().time}")
val sortedList = list.filter { it.split(":").size == 2 }.sortedByDescending { it.split(":").last().toLong() } val sortedList = list.filter { it.split(":").size == 2 }
preferences.lastUsedSources().set(sortedList.subList(0, min(sortedList.size, 2)).toSet()) .sortedByDescending { it.split(":").last().toLong() }
preferences.lastUsedSources()
.set(sortedList.subList(0, min(sortedList.size, 2)).toSet())
}
router.pushController(controller.withFadeTransaction()) router.pushController(controller.withFadeTransaction())
} }

View File

@ -91,7 +91,10 @@ class MangaShortcutManager(
null null
} }
ShortcutInfo.Builder(context, "Manga-${item.id?.toString() ?: item.title}") ShortcutInfo.Builder(
context,
"Manga-${item.id?.toString() ?: item.title}"
)
.setShortLabel(item.title) .setShortLabel(item.title)
.setLongLabel(item.title) .setLongLabel(item.title)
.setIcon( .setIcon(
@ -124,7 +127,12 @@ class MangaShortcutManager(
} else { } else {
Icon.createWithBitmap(bitmap) Icon.createWithBitmap(bitmap)
} }
else Icon.createWithResource(context, R.drawable.ic_extension_update_24dp) else {
Icon.createWithResource(
context,
R.drawable.sc_extensions_48dp
)
}
) )
.setIntent( .setIntent(
Intent( Intent(

View File

@ -3,7 +3,7 @@
android:height="24dp" android:height="24dp"
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0" android:viewportHeight="24.0"
android:tint="?attr/actionBarTintColor"> android:tint="?attr/colorAccent">
<path <path
android:fillColor="#FF000000" android:fillColor="#FF000000"
android:pathData="M18,2H6c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2zM6,4h5v8l-2.5,-1.5L6,12V4z"/> android:pathData="M18,2H6c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2zM6,4h5v8l-2.5,-1.5L6,12V4z"/>