mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
revert: Revert "Modularize the app"
Epic fail, not sure what happened, but I am sure that I don't want to spend the rest of the day debugging no error crash, I'll just try again later. It is what it is, I guess...
This commit is contained in:
parent
9a86f99799
commit
f59f2346dc
290 changed files with 881 additions and 1663 deletions
|
@ -18,13 +18,11 @@
|
||||||
|
|
||||||
## Other
|
## Other
|
||||||
- Some code refactors
|
- Some code refactors
|
||||||
- Simplify some messy code
|
|
||||||
- Rewrite version checker
|
|
||||||
- Rewrite Migrator
|
|
||||||
- Split the project into several modules
|
|
||||||
- Update firebase bom to v33.1.0
|
- Update firebase bom to v33.1.0
|
||||||
- Update dependency co.touchlab:kermit-crashlytics to v3.9.0
|
- Update dependency co.touchlab:kermit-crashlytics to v3.9.0
|
||||||
- Update dependency com.google.android.gms:play-services-oss-licenses to v17.1.0
|
- Update dependency com.google.android.gms:play-services-oss-licenses to v17.1.0
|
||||||
- Update dependency com.google.gms:google-services to v4.4.2
|
- Update dependency com.google.gms:google-services to v4.4.2
|
||||||
- Add crashlytics integration for Kermit
|
- Add crashlytics integration for Kermit
|
||||||
- Replace ProgressBar with ProgressIndicator from Material3 to improve UI consistency
|
- Replace ProgressBar with ProgressIndicator from Material3 to improve UI consistency
|
||||||
|
- Rewrite version checker
|
||||||
|
- Rewrite Migrator
|
||||||
|
|
|
@ -39,9 +39,14 @@ val buildTime: String by lazy {
|
||||||
val supportedAbis = setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
|
val supportedAbis = setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
compileSdk = AndroidConfig.compileSdk
|
||||||
|
ndkVersion = AndroidConfig.ndk
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
|
minSdk = AndroidConfig.minSdk
|
||||||
|
targetSdk = AndroidConfig.targetSdk
|
||||||
applicationId = "eu.kanade.tachiyomi"
|
applicationId = "eu.kanade.tachiyomi"
|
||||||
versionCode = 137
|
versionCode = 136
|
||||||
versionName = "1.8.4"
|
versionName = "1.8.4"
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
multiDexEnabled = true
|
multiDexEnabled = true
|
||||||
|
@ -140,6 +145,14 @@ android {
|
||||||
kotlinCompilerExtensionVersion = compose.versions.compose.compiler.get()
|
kotlinCompilerExtensionVersion = compose.versions.compose.compiler.get()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
|
isCoreLibraryDesugaringEnabled = true
|
||||||
|
}
|
||||||
|
kotlinOptions {
|
||||||
|
jvmTarget = "17"
|
||||||
|
}
|
||||||
namespace = "eu.kanade.tachiyomi"
|
namespace = "eu.kanade.tachiyomi"
|
||||||
|
|
||||||
sqldelight {
|
sqldelight {
|
||||||
|
@ -154,10 +167,6 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(projects.core)
|
|
||||||
implementation(projects.i18n)
|
|
||||||
implementation(projects.sourceApi)
|
|
||||||
|
|
||||||
// Compose
|
// Compose
|
||||||
implementation(compose.bundles.compose)
|
implementation(compose.bundles.compose)
|
||||||
debugImplementation(compose.ui.tooling)
|
debugImplementation(compose.ui.tooling)
|
||||||
|
@ -271,8 +280,8 @@ dependencies {
|
||||||
|
|
||||||
implementation(kotlin("stdlib", org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION))
|
implementation(kotlin("stdlib", org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION))
|
||||||
|
|
||||||
implementation(platform(kotlinx.coroutines.bom))
|
implementation(kotlinx.coroutines.core)
|
||||||
implementation(kotlinx.bundles.coroutines)
|
implementation(kotlinx.coroutines.android)
|
||||||
|
|
||||||
// Text distance
|
// Text distance
|
||||||
implementation(libs.java.string.similarity)
|
implementation(libs.java.string.similarity)
|
||||||
|
@ -287,6 +296,8 @@ dependencies {
|
||||||
|
|
||||||
implementation(kotlinx.immutable)
|
implementation(kotlinx.immutable)
|
||||||
|
|
||||||
|
"coreLibraryDesugaring"(libs.desugar)
|
||||||
|
|
||||||
// Tests
|
// Tests
|
||||||
testImplementation(libs.bundles.test)
|
testImplementation(libs.bundles.test)
|
||||||
testRuntimeOnly(libs.bundles.test.runtime)
|
testRuntimeOnly(libs.bundles.test.runtime)
|
||||||
|
@ -295,6 +306,13 @@ dependencies {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
|
withType<Test> {
|
||||||
|
useJUnitPlatform()
|
||||||
|
testLogging {
|
||||||
|
events("passed", "skipped", "failed")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// See https://kotlinlang.org/docs/reference/experimental.html#experimental-status-of-experimental-api(-markers)
|
// See https://kotlinlang.org/docs/reference/experimental.html#experimental-status-of-experimental-api(-markers)
|
||||||
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
|
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
|
||||||
kotlinOptions.freeCompilerArgs += listOf(
|
kotlinOptions.freeCompilerArgs += listOf(
|
||||||
|
|
24
app/proguard-rules.pro
vendored
24
app/proguard-rules.pro
vendored
|
@ -1,19 +1,19 @@
|
||||||
-dontobfuscate
|
-dontobfuscate
|
||||||
|
|
||||||
-keep,allowoptimization class eu.kanade.**
|
-keep class eu.kanade.tachiyomi.source.** { public protected *; } # Avoid access modification
|
||||||
-keep,allowoptimization class tachiyomi.**
|
-keep,allowoptimization class eu.kanade.** { public protected *; }
|
||||||
-keep,allowoptimization class yokai.**
|
-keep,allowoptimization class tachiyomi.** { public protected *; }
|
||||||
|
-keep,allowoptimization class dev.yokai.** { public protected *; }
|
||||||
|
|
||||||
# Keep common dependencies used in extensions
|
# Keep common dependencies used in extensions
|
||||||
-keep,allowoptimization class androidx.preference.** { public protected *; }
|
-keep class androidx.preference.** { public protected *; }
|
||||||
-keep,allowoptimization class kotlin.** { public protected *; }
|
-keep class kotlin.** { public protected *; }
|
||||||
-keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
|
-keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
|
||||||
-keep,allowoptimization class kotlinx.serialization.** { public protected *; }
|
-keep class kotlinx.serialization.** { public protected *; }
|
||||||
-keep,allowoptimization class kotlin.time.** { public protected *; }
|
-keep class okhttp3.** { public protected *; }
|
||||||
-keep,allowoptimization class okhttp3.** { public protected *; }
|
|
||||||
-keep,allowoptimization class okio.** { public protected *; }
|
-keep,allowoptimization class okio.** { public protected *; }
|
||||||
-keep,allowoptimization class rx.** { public protected *; }
|
-keep,allowoptimization class rx.** { public protected *; }
|
||||||
-keep,allowoptimization class org.jsoup.** { public protected *; }
|
-keep class org.jsoup.** { public protected *; }
|
||||||
-keep,allowoptimization class com.google.gson.** { public protected *; }
|
-keep,allowoptimization class com.google.gson.** { public protected *; }
|
||||||
-keep,allowoptimization class app.cash.quickjs.** { public protected *; }
|
-keep,allowoptimization class app.cash.quickjs.** { public protected *; }
|
||||||
-keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
|
-keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
|
||||||
|
@ -73,11 +73,11 @@
|
||||||
kotlinx.serialization.KSerializer serializer(...);
|
kotlinx.serialization.KSerializer serializer(...);
|
||||||
}
|
}
|
||||||
|
|
||||||
-keep,includedescriptorclasses class yokai.**$$serializer { *; }
|
-keep,includedescriptorclasses class dev.yokai.**$$serializer { *; }
|
||||||
-keepclassmembers class yokai.** {
|
-keepclassmembers class dev.yokai.** {
|
||||||
*** Companion;
|
*** Companion;
|
||||||
}
|
}
|
||||||
-keepclasseswithmembers class yokai.** {
|
-keepclasseswithmembers class dev.yokai.** {
|
||||||
kotlinx.serialization.KSerializer serializer(...);
|
kotlinx.serialization.KSerializer serializer(...);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.core
|
package dev.yokai.core
|
||||||
|
|
||||||
import co.touchlab.kermit.DefaultFormatter
|
import co.touchlab.kermit.DefaultFormatter
|
||||||
import co.touchlab.kermit.LogWriter
|
import co.touchlab.kermit.LogWriter
|
|
@ -1,13 +1,15 @@
|
||||||
package yokai.core.di
|
package dev.yokai.core.di
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.sqlite.db.SupportSQLiteOpenHelper
|
import androidx.sqlite.db.SupportSQLiteOpenHelper
|
||||||
import app.cash.sqldelight.db.SqlDriver
|
import app.cash.sqldelight.db.SqlDriver
|
||||||
import app.cash.sqldelight.driver.android.AndroidSqliteDriver
|
import app.cash.sqldelight.driver.android.AndroidSqliteDriver
|
||||||
import com.chuckerteam.chucker.api.ChuckerCollector
|
import dev.yokai.data.AndroidDatabaseHandler
|
||||||
import com.chuckerteam.chucker.api.ChuckerInterceptor
|
import dev.yokai.data.DatabaseHandler
|
||||||
import eu.kanade.tachiyomi.BuildConfig
|
import dev.yokai.domain.SplashState
|
||||||
|
import dev.yokai.domain.extension.interactor.TrustExtension
|
||||||
|
import dev.yokai.domain.storage.StorageManager
|
||||||
import eu.kanade.tachiyomi.core.storage.AndroidStorageFolderProvider
|
import eu.kanade.tachiyomi.core.storage.AndroidStorageFolderProvider
|
||||||
import eu.kanade.tachiyomi.data.cache.ChapterCache
|
import eu.kanade.tachiyomi.data.cache.ChapterCache
|
||||||
import eu.kanade.tachiyomi.data.cache.CoverCache
|
import eu.kanade.tachiyomi.data.cache.CoverCache
|
||||||
|
@ -33,10 +35,6 @@ import uy.kohesive.injekt.api.InjektRegistrar
|
||||||
import uy.kohesive.injekt.api.addSingleton
|
import uy.kohesive.injekt.api.addSingleton
|
||||||
import uy.kohesive.injekt.api.addSingletonFactory
|
import uy.kohesive.injekt.api.addSingletonFactory
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import yokai.data.AndroidDatabaseHandler
|
|
||||||
import yokai.data.DatabaseHandler
|
|
||||||
import yokai.domain.SplashState
|
|
||||||
import yokai.domain.storage.StorageManager
|
|
||||||
|
|
||||||
class AppModule(val app: Application) : InjektModule {
|
class AppModule(val app: Application) : InjektModule {
|
||||||
|
|
||||||
|
@ -91,23 +89,7 @@ class AppModule(val app: Application) : InjektModule {
|
||||||
|
|
||||||
addSingletonFactory { CoverCache(app) }
|
addSingletonFactory { CoverCache(app) }
|
||||||
|
|
||||||
addSingletonFactory {
|
addSingletonFactory { NetworkHelper(app) }
|
||||||
NetworkHelper(
|
|
||||||
app,
|
|
||||||
get(),
|
|
||||||
) { builder ->
|
|
||||||
if (BuildConfig.DEBUG) {
|
|
||||||
builder.addInterceptor(
|
|
||||||
ChuckerInterceptor.Builder(app)
|
|
||||||
.collector(ChuckerCollector(app))
|
|
||||||
.maxContentLength(250000L)
|
|
||||||
.redactHeaders(emptySet())
|
|
||||||
.alwaysReadResponseBody(false)
|
|
||||||
.build(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
addSingletonFactory { JavaScriptEngine(app) }
|
addSingletonFactory { JavaScriptEngine(app) }
|
||||||
|
|
56
app/src/main/java/dev/yokai/core/di/DomainModule.kt
Normal file
56
app/src/main/java/dev/yokai/core/di/DomainModule.kt
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
package dev.yokai.core.di
|
||||||
|
|
||||||
|
import dev.yokai.data.chapter.ChapterRepositoryImpl
|
||||||
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
import dev.yokai.data.extension.repo.ExtensionRepoRepositoryImpl
|
||||||
|
import dev.yokai.data.library.custom.CustomMangaRepositoryImpl
|
||||||
|
import dev.yokai.data.manga.MangaRepositoryImpl
|
||||||
|
import dev.yokai.domain.chapter.ChapterRepository
|
||||||
|
import dev.yokai.domain.chapter.interactor.GetAvailableScanlators
|
||||||
|
import dev.yokai.domain.chapter.interactor.GetChapters
|
||||||
|
import dev.yokai.domain.extension.interactor.TrustExtension
|
||||||
|
import dev.yokai.domain.extension.repo.interactor.CreateExtensionRepo
|
||||||
|
import dev.yokai.domain.extension.repo.interactor.DeleteExtensionRepo
|
||||||
|
import dev.yokai.domain.extension.repo.interactor.GetExtensionRepo
|
||||||
|
import dev.yokai.domain.extension.repo.interactor.GetExtensionRepoCount
|
||||||
|
import dev.yokai.domain.extension.repo.interactor.ReplaceExtensionRepo
|
||||||
|
import dev.yokai.domain.extension.repo.interactor.UpdateExtensionRepo
|
||||||
|
import dev.yokai.domain.library.custom.CustomMangaRepository
|
||||||
|
import dev.yokai.domain.library.custom.interactor.CreateCustomManga
|
||||||
|
import dev.yokai.domain.library.custom.interactor.DeleteCustomManga
|
||||||
|
import dev.yokai.domain.library.custom.interactor.GetCustomManga
|
||||||
|
import dev.yokai.domain.library.custom.interactor.RelinkCustomManga
|
||||||
|
import dev.yokai.domain.manga.MangaRepository
|
||||||
|
import dev.yokai.domain.manga.interactor.GetLibraryManga
|
||||||
|
import uy.kohesive.injekt.api.InjektModule
|
||||||
|
import uy.kohesive.injekt.api.InjektRegistrar
|
||||||
|
import uy.kohesive.injekt.api.addFactory
|
||||||
|
import uy.kohesive.injekt.api.addSingletonFactory
|
||||||
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
|
class DomainModule : InjektModule {
|
||||||
|
override fun InjektRegistrar.registerInjectables() {
|
||||||
|
addFactory { TrustExtension(get(), get()) }
|
||||||
|
|
||||||
|
addSingletonFactory<ExtensionRepoRepository> { ExtensionRepoRepositoryImpl(get()) }
|
||||||
|
addFactory { CreateExtensionRepo(get()) }
|
||||||
|
addFactory { DeleteExtensionRepo(get()) }
|
||||||
|
addFactory { GetExtensionRepo(get()) }
|
||||||
|
addFactory { GetExtensionRepoCount(get()) }
|
||||||
|
addFactory { ReplaceExtensionRepo(get()) }
|
||||||
|
addFactory { UpdateExtensionRepo(get(), get()) }
|
||||||
|
|
||||||
|
addSingletonFactory<CustomMangaRepository> { CustomMangaRepositoryImpl(get()) }
|
||||||
|
addFactory { CreateCustomManga(get()) }
|
||||||
|
addFactory { DeleteCustomManga(get()) }
|
||||||
|
addFactory { GetCustomManga(get()) }
|
||||||
|
addFactory { RelinkCustomManga(get()) }
|
||||||
|
|
||||||
|
addSingletonFactory<MangaRepository> { MangaRepositoryImpl(get()) }
|
||||||
|
addFactory { GetLibraryManga(get()) }
|
||||||
|
|
||||||
|
addSingletonFactory<ChapterRepository> { ChapterRepositoryImpl(get()) }
|
||||||
|
addFactory { GetAvailableScanlators(get()) }
|
||||||
|
addFactory { GetChapters(get()) }
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,23 +1,22 @@
|
||||||
package yokai.core.di
|
package dev.yokai.core.di
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
|
import dev.yokai.domain.base.BasePreferences
|
||||||
|
import dev.yokai.domain.download.DownloadPreferences
|
||||||
|
import dev.yokai.domain.recents.RecentsPreferences
|
||||||
|
import dev.yokai.domain.source.SourcePreferences
|
||||||
|
import dev.yokai.domain.storage.StoragePreferences
|
||||||
|
import dev.yokai.domain.ui.UiPreferences
|
||||||
|
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||||
import eu.kanade.tachiyomi.core.preference.AndroidPreferenceStore
|
import eu.kanade.tachiyomi.core.preference.AndroidPreferenceStore
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||||
import eu.kanade.tachiyomi.core.storage.AndroidStorageFolderProvider
|
import eu.kanade.tachiyomi.core.storage.AndroidStorageFolderProvider
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import eu.kanade.tachiyomi.data.track.TrackPreferences
|
import eu.kanade.tachiyomi.data.track.TrackPreferences
|
||||||
import eu.kanade.tachiyomi.network.NetworkPreferences
|
|
||||||
import uy.kohesive.injekt.api.InjektModule
|
import uy.kohesive.injekt.api.InjektModule
|
||||||
import uy.kohesive.injekt.api.InjektRegistrar
|
import uy.kohesive.injekt.api.InjektRegistrar
|
||||||
import uy.kohesive.injekt.api.addSingletonFactory
|
import uy.kohesive.injekt.api.addSingletonFactory
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import yokai.domain.base.BasePreferences
|
|
||||||
import yokai.domain.download.DownloadPreferences
|
|
||||||
import yokai.domain.recents.RecentsPreferences
|
|
||||||
import yokai.domain.source.SourcePreferences
|
|
||||||
import yokai.domain.storage.StoragePreferences
|
|
||||||
import yokai.domain.ui.UiPreferences
|
|
||||||
import yokai.domain.ui.settings.ReaderPreferences
|
|
||||||
|
|
||||||
class PreferenceModule(val application: Application) : InjektModule {
|
class PreferenceModule(val application: Application) : InjektModule {
|
||||||
override fun InjektRegistrar.registerInjectables() {
|
override fun InjektRegistrar.registerInjectables() {
|
||||||
|
@ -37,8 +36,6 @@ class PreferenceModule(val application: Application) : InjektModule {
|
||||||
|
|
||||||
addSingletonFactory { DownloadPreferences(get()) }
|
addSingletonFactory { DownloadPreferences(get()) }
|
||||||
|
|
||||||
addSingletonFactory { NetworkPreferences(get()) }
|
|
||||||
|
|
||||||
addSingletonFactory {
|
addSingletonFactory {
|
||||||
PreferencesHelper(
|
PreferencesHelper(
|
||||||
context = application,
|
context = application,
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.core.metadata
|
package dev.yokai.core.metadata
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
import eu.kanade.tachiyomi.data.database.models.Manga
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.core.migration
|
package dev.yokai.core.migration
|
||||||
|
|
||||||
interface Migration {
|
interface Migration {
|
||||||
val version: Float
|
val version: Float
|
|
@ -1,3 +1,3 @@
|
||||||
package yokai.core.migration
|
package dev.yokai.core.migration
|
||||||
|
|
||||||
typealias MigrationCompletedListener = () -> Unit
|
typealias MigrationCompletedListener = () -> Unit
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.core.migration
|
package dev.yokai.core.migration
|
||||||
|
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.core.migration
|
package dev.yokai.core.migration
|
||||||
|
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
import kotlinx.coroutines.CompletableDeferred
|
import kotlinx.coroutines.CompletableDeferred
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.core.migration
|
package dev.yokai.core.migration
|
||||||
|
|
||||||
import kotlinx.coroutines.CompletableDeferred
|
import kotlinx.coroutines.CompletableDeferred
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.core.migration
|
package dev.yokai.core.migration
|
||||||
|
|
||||||
class MigrationStrategyFactory(
|
class MigrationStrategyFactory(
|
||||||
private val factory: MigrationJobFactory,
|
private val factory: MigrationJobFactory,
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.core.migration
|
package dev.yokai.core.migration
|
||||||
|
|
||||||
import kotlinx.coroutines.CompletableDeferred
|
import kotlinx.coroutines.CompletableDeferred
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
|
@ -1,8 +1,8 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,8 +1,8 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,8 +1,8 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
|
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class CustomInfoMigration : Migration {
|
class CustomInfoMigration : Migration {
|
||||||
override val version: Float = 66f
|
override val version: Float = 66f
|
|
@ -1,14 +1,14 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
|
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||||
|
import dev.yokai.domain.ui.settings.ReaderPreferences.CutoutBehaviour
|
||||||
|
import dev.yokai.domain.ui.settings.ReaderPreferences.LandscapeCutoutBehaviour
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig
|
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
import yokai.domain.ui.settings.ReaderPreferences
|
|
||||||
import yokai.domain.ui.settings.ReaderPreferences.CutoutBehaviour
|
|
||||||
import yokai.domain.ui.settings.ReaderPreferences.LandscapeCutoutBehaviour
|
|
||||||
|
|
||||||
class CutoutMigration : Migration {
|
class CutoutMigration : Migration {
|
||||||
override val version: Float = 121f
|
override val version: Float = 121f
|
|
@ -1,12 +1,12 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||||
import eu.kanade.tachiyomi.network.PREF_DOH_CLOUDFLARE
|
import eu.kanade.tachiyomi.network.PREF_DOH_CLOUDFLARE
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class DoHMigration : Migration {
|
class DoHMigration : Migration {
|
||||||
override val version: Float = 71f
|
override val version: Float = 71f
|
|
@ -1,9 +1,9 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.download.DownloadProvider
|
import eu.kanade.tachiyomi.data.download.DownloadProvider
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class DownloadedChaptersMigration : Migration {
|
class DownloadedChaptersMigration : Migration {
|
||||||
override val version: Float = 54f
|
override val version: Float = 54f
|
|
@ -1,10 +1,10 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import eu.kanade.tachiyomi.data.preference.plusAssign
|
import eu.kanade.tachiyomi.data.preference.plusAssign
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class EnabledLanguageMigration : Migration {
|
class EnabledLanguageMigration : Migration {
|
||||||
override val version: Float = 83f
|
override val version: Float = 83f
|
|
@ -1,11 +1,11 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.BuildConfig
|
import eu.kanade.tachiyomi.BuildConfig
|
||||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||||
import eu.kanade.tachiyomi.data.updater.AppUpdateJob
|
import eu.kanade.tachiyomi.data.updater.AppUpdateJob
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restore jobs after upgrading to evernote's job scheduler.
|
* Restore jobs after upgrading to evernote's job scheduler.
|
|
@ -1,10 +1,10 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
|
import dev.yokai.domain.base.BasePreferences
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
import yokai.domain.base.BasePreferences
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Upstream no longer use Int for extension installer prefs, this solves incompatibility with upstreams backup
|
* Upstream no longer use Int for extension installer prefs, this solves incompatibility with upstreams backup
|
|
@ -1,8 +1,8 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,11 +1,11 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.ui.library.LibrarySort
|
import eu.kanade.tachiyomi.ui.library.LibrarySort
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class LibrarySortMigration : Migration {
|
class LibrarySortMigration : Migration {
|
||||||
override val version: Float = 110f
|
override val version: Float = 110f
|
|
@ -1,9 +1,9 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class LibraryUpdateResetMigration : Migration {
|
class LibraryUpdateResetMigration : Migration {
|
||||||
override val version: Float = 105f
|
override val version: Float = 105f
|
|
@ -1,8 +1,8 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import yokai.core.migration.Migration
|
|
||||||
|
|
||||||
val migrations: ImmutableList<Migration> = persistentListOf(
|
val migrations: ImmutableList<Migration> = persistentListOf(
|
||||||
SetupAppUpdateMigration(),
|
SetupAppUpdateMigration(),
|
||||||
|
@ -36,5 +36,4 @@ val migrations: ImmutableList<Migration> = persistentListOf(
|
||||||
ExtensionInstallerEnumMigration(),
|
ExtensionInstallerEnumMigration(),
|
||||||
CutoutMigration(),
|
CutoutMigration(),
|
||||||
RepoJsonMigration(),
|
RepoJsonMigration(),
|
||||||
NetworkPrefsMigration(),
|
|
||||||
)
|
)
|
|
@ -1,11 +1,11 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.track.TrackManager
|
import eu.kanade.tachiyomi.data.track.TrackManager
|
||||||
import eu.kanade.tachiyomi.util.system.toast
|
import eu.kanade.tachiyomi.util.system.toast
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Force MAL log out due to login flow change
|
* Force MAL log out due to login flow change
|
|
@ -1,12 +1,12 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferenceValues
|
import eu.kanade.tachiyomi.data.preference.PreferenceValues
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import eu.kanade.tachiyomi.ui.recents.RecentsPresenter
|
import eu.kanade.tachiyomi.ui.recents.RecentsPresenter
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
|
|
||||||
class PrefsMigration : Migration {
|
class PrefsMigration : Migration {
|
|
@ -1,12 +1,12 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
|
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
|
||||||
import eu.kanade.tachiyomi.util.system.withIOContext
|
import eu.kanade.tachiyomi.util.system.withIOContext
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class ReaderUpdateMigration : Migration {
|
class ReaderUpdateMigration : Migration {
|
||||||
override val version: Float = 88f
|
override val version: Float = 88f
|
|
@ -1,13 +1,13 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
import dev.yokai.domain.extension.repo.exception.SaveExtensionRepoException
|
||||||
import eu.kanade.tachiyomi.core.preference.Preference
|
import eu.kanade.tachiyomi.core.preference.Preference
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||||
import eu.kanade.tachiyomi.util.system.withIOContext
|
import eu.kanade.tachiyomi.util.system.withIOContext
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
|
||||||
import yokai.domain.extension.repo.exception.SaveExtensionRepoException
|
|
||||||
|
|
||||||
class RepoJsonMigration : Migration {
|
class RepoJsonMigration : Migration {
|
||||||
override val version: Float = 130f
|
override val version: Float = 130f
|
|
@ -1,11 +1,11 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.ui.reader.settings.OrientationType
|
import eu.kanade.tachiyomi.ui.reader.settings.OrientationType
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class RotationTypeEnumMigration : Migration {
|
class RotationTypeEnumMigration : Migration {
|
||||||
override val version: Float = 77f
|
override val version: Float = 77f
|
|
@ -1,10 +1,10 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class RotationTypeMigration : Migration {
|
class RotationTypeMigration : Migration {
|
||||||
override val version: Float = 73f
|
override val version: Float = 73f
|
|
@ -1,10 +1,10 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.BuildConfig
|
import eu.kanade.tachiyomi.BuildConfig
|
||||||
import eu.kanade.tachiyomi.data.updater.AppUpdateJob
|
import eu.kanade.tachiyomi.data.updater.AppUpdateJob
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class SetupAppUpdateMigration : Migration {
|
class SetupAppUpdateMigration : Migration {
|
||||||
override val version: Float = Migration.ALWAYS
|
override val version: Float = Migration.ALWAYS
|
|
@ -1,9 +1,9 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class SetupBackupCreateMigration : Migration {
|
class SetupBackupCreateMigration : Migration {
|
||||||
override val version: Float = Migration.ALWAYS
|
override val version: Float = Migration.ALWAYS
|
|
@ -1,9 +1,9 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class SetupExtensionUpdateMigration : Migration {
|
class SetupExtensionUpdateMigration : Migration {
|
||||||
override val version: Float = Migration.ALWAYS
|
override val version: Float = Migration.ALWAYS
|
|
@ -1,9 +1,9 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class SetupLibraryUpdateMigration : Migration {
|
class SetupLibraryUpdateMigration : Migration {
|
||||||
override val version: Float = Migration.ALWAYS
|
override val version: Float = Migration.ALWAYS
|
|
@ -1,13 +1,13 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class ShortcutsMigration : Migration {
|
class ShortcutsMigration : Migration {
|
||||||
override val version: Float = 75f
|
override val version: Float = 75f
|
|
@ -1,10 +1,10 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class ThePurgeMigration : Migration {
|
class ThePurgeMigration : Migration {
|
||||||
override val version: Float = 112f
|
override val version: Float = 112f
|
|
@ -1,9 +1,9 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.core.preference.Preference
|
import eu.kanade.tachiyomi.core.preference.Preference
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class TrackerPrivateSettingsMigration : Migration {
|
class TrackerPrivateSettingsMigration : Migration {
|
||||||
override val version: Float = 108f
|
override val version: Float = 108f
|
|
@ -1,10 +1,10 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
class UpdateIntervalMigration : Migration {
|
class UpdateIntervalMigration : Migration {
|
||||||
override val version: Float = 86f
|
override val version: Float = 86f
|
|
@ -1,5 +1,7 @@
|
||||||
package yokai.core.migration.migrations
|
package dev.yokai.core.migration.migrations
|
||||||
|
|
||||||
|
import dev.yokai.core.migration.Migration
|
||||||
|
import dev.yokai.core.migration.MigrationContext
|
||||||
import eu.kanade.tachiyomi.App
|
import eu.kanade.tachiyomi.App
|
||||||
import eu.kanade.tachiyomi.BuildConfig
|
import eu.kanade.tachiyomi.BuildConfig
|
||||||
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
||||||
|
@ -7,8 +9,6 @@ import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||||
import eu.kanade.tachiyomi.data.updater.AppUpdateJob
|
import eu.kanade.tachiyomi.data.updater.AppUpdateJob
|
||||||
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
||||||
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
|
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
|
||||||
import yokai.core.migration.Migration
|
|
||||||
import yokai.core.migration.MigrationContext
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restore jobs after migrating from Evernote's job scheduler to WorkManager.
|
* Restore jobs after migrating from Evernote's job scheduler to WorkManager.
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.data
|
package dev.yokai.data
|
||||||
|
|
||||||
import app.cash.sqldelight.Query
|
import app.cash.sqldelight.Query
|
||||||
import app.cash.sqldelight.coroutines.asFlow
|
import app.cash.sqldelight.coroutines.asFlow
|
|
@ -1,7 +1,7 @@
|
||||||
package yokai.data
|
package dev.yokai.data
|
||||||
|
|
||||||
import app.cash.sqldelight.ColumnAdapter
|
import app.cash.sqldelight.ColumnAdapter
|
||||||
import java.util.*
|
import java.util.Date
|
||||||
|
|
||||||
val dateAdapter = object : ColumnAdapter<Date, Long> {
|
val dateAdapter = object : ColumnAdapter<Date, Long> {
|
||||||
override fun decode(databaseValue: Long): Date = Date(databaseValue)
|
override fun decode(databaseValue: Long): Date = Date(databaseValue)
|
|
@ -1,6 +1,7 @@
|
||||||
package yokai.data
|
package dev.yokai.data
|
||||||
|
|
||||||
import app.cash.sqldelight.Query
|
import app.cash.sqldelight.Query
|
||||||
|
import app.cash.sqldelight.Transacter
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import tachiyomi.data.Database
|
import tachiyomi.data.Database
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.data
|
package dev.yokai.data
|
||||||
|
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
|
@ -6,8 +6,8 @@ import kotlinx.coroutines.asContextElement
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import kotlinx.coroutines.suspendCancellableCoroutine
|
import kotlinx.coroutines.suspendCancellableCoroutine
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import java.util.concurrent.*
|
import java.util.concurrent.RejectedExecutionException
|
||||||
import java.util.concurrent.atomic.*
|
import java.util.concurrent.atomic.AtomicInteger
|
||||||
import kotlin.coroutines.ContinuationInterceptor
|
import kotlin.coroutines.ContinuationInterceptor
|
||||||
import kotlin.coroutines.CoroutineContext
|
import kotlin.coroutines.CoroutineContext
|
||||||
import kotlin.coroutines.EmptyCoroutineContext
|
import kotlin.coroutines.EmptyCoroutineContext
|
|
@ -1,10 +1,10 @@
|
||||||
package yokai.data.chapter
|
package dev.yokai.data.chapter
|
||||||
|
|
||||||
|
import dev.yokai.data.DatabaseHandler
|
||||||
|
import dev.yokai.domain.chapter.ChapterRepository
|
||||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||||
import eu.kanade.tachiyomi.util.system.toInt
|
import eu.kanade.tachiyomi.util.system.toInt
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import yokai.data.DatabaseHandler
|
|
||||||
import yokai.domain.chapter.ChapterRepository
|
|
||||||
|
|
||||||
class ChapterRepositoryImpl(private val handler: DatabaseHandler) : ChapterRepository {
|
class ChapterRepositoryImpl(private val handler: DatabaseHandler) : ChapterRepository {
|
||||||
override suspend fun getChapters(mangaId: Long, filterScanlators: Boolean): List<Chapter> =
|
override suspend fun getChapters(mangaId: Long, filterScanlators: Boolean): List<Chapter> =
|
|
@ -1,12 +1,12 @@
|
||||||
package yokai.data.extension.repo
|
package dev.yokai.data.extension.repo
|
||||||
|
|
||||||
import android.database.sqlite.SQLiteException
|
import android.database.sqlite.SQLiteException
|
||||||
|
import dev.yokai.data.DatabaseHandler
|
||||||
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
import dev.yokai.domain.extension.repo.exception.SaveExtensionRepoException
|
||||||
|
import dev.yokai.domain.extension.repo.model.ExtensionRepo
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import yokai.data.DatabaseHandler
|
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
|
||||||
import yokai.domain.extension.repo.exception.SaveExtensionRepoException
|
|
||||||
import yokai.domain.extension.repo.model.ExtensionRepo
|
|
||||||
|
|
||||||
class ExtensionRepoRepositoryImpl(private val handler: DatabaseHandler): ExtensionRepoRepository {
|
class ExtensionRepoRepositoryImpl(private val handler: DatabaseHandler): ExtensionRepoRepository {
|
||||||
override fun subscribeAll(): Flow<List<ExtensionRepo>> =
|
override fun subscribeAll(): Flow<List<ExtensionRepo>> =
|
|
@ -1,13 +1,13 @@
|
||||||
package yokai.data.library.custom
|
package dev.yokai.data.library.custom
|
||||||
|
|
||||||
import android.database.sqlite.SQLiteException
|
import android.database.sqlite.SQLiteException
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
|
import dev.yokai.data.DatabaseHandler
|
||||||
|
import dev.yokai.domain.library.custom.CustomMangaRepository
|
||||||
|
import dev.yokai.domain.library.custom.exception.SaveCustomMangaException
|
||||||
|
import dev.yokai.domain.library.custom.model.CustomMangaInfo
|
||||||
import eu.kanade.tachiyomi.util.system.e
|
import eu.kanade.tachiyomi.util.system.e
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import yokai.data.DatabaseHandler
|
|
||||||
import yokai.domain.library.custom.CustomMangaRepository
|
|
||||||
import yokai.domain.library.custom.exception.SaveCustomMangaException
|
|
||||||
import yokai.domain.library.custom.model.CustomMangaInfo
|
|
||||||
|
|
||||||
class CustomMangaRepositoryImpl(private val handler: DatabaseHandler) : CustomMangaRepository {
|
class CustomMangaRepositoryImpl(private val handler: DatabaseHandler) : CustomMangaRepository {
|
||||||
override fun subscribeAll(): Flow<List<CustomMangaInfo>> =
|
override fun subscribeAll(): Flow<List<CustomMangaInfo>> =
|
|
@ -1,10 +1,10 @@
|
||||||
package yokai.data.manga
|
package dev.yokai.data.manga
|
||||||
|
|
||||||
|
import dev.yokai.data.DatabaseHandler
|
||||||
|
import dev.yokai.domain.manga.MangaRepository
|
||||||
import eu.kanade.tachiyomi.data.database.models.LibraryManga
|
import eu.kanade.tachiyomi.data.database.models.LibraryManga
|
||||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import yokai.data.DatabaseHandler
|
|
||||||
import yokai.domain.manga.MangaRepository
|
|
||||||
|
|
||||||
class MangaRepositoryImpl(private val handler: DatabaseHandler) : MangaRepository {
|
class MangaRepositoryImpl(private val handler: DatabaseHandler) : MangaRepository {
|
||||||
override suspend fun getManga(): List<Manga> =
|
override suspend fun getManga(): List<Manga> =
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain
|
package dev.yokai.domain
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain
|
package dev.yokai.domain
|
||||||
|
|
||||||
sealed class Result<out T> {
|
sealed class Result<out T> {
|
||||||
data class Success<out T>(val data: T? = null) : Result<T>()
|
data class Success<out T>(val data: T? = null) : Result<T>()
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain
|
package dev.yokai.domain
|
||||||
|
|
||||||
class SplashState {
|
class SplashState {
|
||||||
var shown = false
|
var shown = false
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.base
|
package dev.yokai.domain.base
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.base.models
|
package dev.yokai.domain.base.models
|
||||||
|
|
||||||
data class Version(
|
data class Version(
|
||||||
val type: Type,
|
val type: Type,
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.chapter
|
package dev.yokai.domain.chapter
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
|
@ -1,6 +1,6 @@
|
||||||
package yokai.domain.chapter.interactor
|
package dev.yokai.domain.chapter.interactor
|
||||||
|
|
||||||
import yokai.domain.chapter.ChapterRepository
|
import dev.yokai.domain.chapter.ChapterRepository
|
||||||
|
|
||||||
class GetAvailableScanlators(
|
class GetAvailableScanlators(
|
||||||
private val chapterRepository: ChapterRepository,
|
private val chapterRepository: ChapterRepository,
|
|
@ -1,7 +1,7 @@
|
||||||
package yokai.domain.chapter.interactor
|
package dev.yokai.domain.chapter.interactor
|
||||||
|
|
||||||
|
import dev.yokai.domain.chapter.ChapterRepository
|
||||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||||
import yokai.domain.chapter.ChapterRepository
|
|
||||||
|
|
||||||
class GetChapters(
|
class GetChapters(
|
||||||
private val chapterRepository: ChapterRepository,
|
private val chapterRepository: ChapterRepository,
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.download
|
package dev.yokai.domain.download
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
package yokai.domain.extension.interactor
|
package dev.yokai.domain.extension.interactor
|
||||||
|
|
||||||
import android.content.pm.PackageInfo
|
import android.content.pm.PackageInfo
|
||||||
import androidx.core.content.pm.PackageInfoCompat
|
import androidx.core.content.pm.PackageInfoCompat
|
||||||
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
import dev.yokai.domain.source.SourcePreferences
|
||||||
import eu.kanade.tachiyomi.core.preference.getAndSet
|
import eu.kanade.tachiyomi.core.preference.getAndSet
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
import uy.kohesive.injekt.Injekt
|
||||||
import yokai.domain.source.SourcePreferences
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class TrustExtension(
|
class TrustExtension(
|
||||||
private val extensionRepoRepository: ExtensionRepoRepository,
|
private val extensionRepoRepository: ExtensionRepoRepository,
|
|
@ -1,7 +1,7 @@
|
||||||
package yokai.domain.extension.repo
|
package dev.yokai.domain.extension.repo
|
||||||
|
|
||||||
|
import dev.yokai.domain.extension.repo.model.ExtensionRepo
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import yokai.domain.extension.repo.model.ExtensionRepo
|
|
||||||
|
|
||||||
interface ExtensionRepoRepository {
|
interface ExtensionRepoRepository {
|
||||||
fun subscribeAll(): Flow<List<ExtensionRepo>>
|
fun subscribeAll(): Flow<List<ExtensionRepo>>
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.extension.repo.exception
|
package dev.yokai.domain.extension.repo.exception
|
||||||
|
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package yokai.domain.extension.repo.interactor
|
package dev.yokai.domain.extension.repo.interactor
|
||||||
|
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
import dev.yokai.domain.extension.repo.exception.SaveExtensionRepoException
|
||||||
|
import dev.yokai.domain.extension.repo.model.ExtensionRepo
|
||||||
|
import dev.yokai.domain.extension.repo.service.ExtensionRepoService
|
||||||
import eu.kanade.tachiyomi.network.NetworkHelper
|
import eu.kanade.tachiyomi.network.NetworkHelper
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
|
||||||
import yokai.domain.extension.repo.exception.SaveExtensionRepoException
|
|
||||||
import yokai.domain.extension.repo.model.ExtensionRepo
|
|
||||||
import yokai.domain.extension.repo.service.ExtensionRepoService
|
|
||||||
|
|
||||||
class CreateExtensionRepo(
|
class CreateExtensionRepo(
|
||||||
private val extensionRepoRepository: ExtensionRepoRepository
|
private val extensionRepoRepository: ExtensionRepoRepository
|
|
@ -1,6 +1,6 @@
|
||||||
package yokai.domain.extension.repo.interactor
|
package dev.yokai.domain.extension.repo.interactor
|
||||||
|
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
|
||||||
class DeleteExtensionRepo(
|
class DeleteExtensionRepo(
|
||||||
private val extensionRepoRepository: ExtensionRepoRepository
|
private val extensionRepoRepository: ExtensionRepoRepository
|
|
@ -1,8 +1,8 @@
|
||||||
package yokai.domain.extension.repo.interactor
|
package dev.yokai.domain.extension.repo.interactor
|
||||||
|
|
||||||
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
import dev.yokai.domain.extension.repo.model.ExtensionRepo
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
|
||||||
import yokai.domain.extension.repo.model.ExtensionRepo
|
|
||||||
|
|
||||||
class GetExtensionRepo(
|
class GetExtensionRepo(
|
||||||
private val extensionRepoRepository: ExtensionRepoRepository
|
private val extensionRepoRepository: ExtensionRepoRepository
|
|
@ -1,6 +1,6 @@
|
||||||
package yokai.domain.extension.repo.interactor
|
package dev.yokai.domain.extension.repo.interactor
|
||||||
|
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
|
||||||
class GetExtensionRepoCount(
|
class GetExtensionRepoCount(
|
||||||
private val extensionRepoRepository: ExtensionRepoRepository
|
private val extensionRepoRepository: ExtensionRepoRepository
|
|
@ -1,7 +1,7 @@
|
||||||
package yokai.domain.extension.repo.interactor
|
package dev.yokai.domain.extension.repo.interactor
|
||||||
|
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
import yokai.domain.extension.repo.model.ExtensionRepo
|
import dev.yokai.domain.extension.repo.model.ExtensionRepo
|
||||||
|
|
||||||
class ReplaceExtensionRepo(
|
class ReplaceExtensionRepo(
|
||||||
private val extensionRepoRepository: ExtensionRepoRepository
|
private val extensionRepoRepository: ExtensionRepoRepository
|
|
@ -1,12 +1,12 @@
|
||||||
package yokai.domain.extension.repo.interactor
|
package dev.yokai.domain.extension.repo.interactor
|
||||||
|
|
||||||
|
import dev.yokai.domain.extension.repo.ExtensionRepoRepository
|
||||||
|
import dev.yokai.domain.extension.repo.model.ExtensionRepo
|
||||||
|
import dev.yokai.domain.extension.repo.service.ExtensionRepoService
|
||||||
import eu.kanade.tachiyomi.network.NetworkHelper
|
import eu.kanade.tachiyomi.network.NetworkHelper
|
||||||
import kotlinx.coroutines.async
|
import kotlinx.coroutines.async
|
||||||
import kotlinx.coroutines.awaitAll
|
import kotlinx.coroutines.awaitAll
|
||||||
import kotlinx.coroutines.coroutineScope
|
import kotlinx.coroutines.coroutineScope
|
||||||
import yokai.domain.extension.repo.ExtensionRepoRepository
|
|
||||||
import yokai.domain.extension.repo.model.ExtensionRepo
|
|
||||||
import yokai.domain.extension.repo.service.ExtensionRepoService
|
|
||||||
|
|
||||||
class UpdateExtensionRepo(
|
class UpdateExtensionRepo(
|
||||||
private val extensionRepoRepository: ExtensionRepoRepository,
|
private val extensionRepoRepository: ExtensionRepoRepository,
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.extension.repo.model
|
package dev.yokai.domain.extension.repo.model
|
||||||
|
|
||||||
data class ExtensionRepo(
|
data class ExtensionRepo(
|
||||||
val baseUrl: String,
|
val baseUrl: String,
|
|
@ -1,6 +1,7 @@
|
||||||
package yokai.domain.extension.repo.service
|
package dev.yokai.domain.extension.repo.service
|
||||||
|
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
|
import dev.yokai.domain.extension.repo.model.ExtensionRepo
|
||||||
import eu.kanade.tachiyomi.network.GET
|
import eu.kanade.tachiyomi.network.GET
|
||||||
import eu.kanade.tachiyomi.network.HttpException
|
import eu.kanade.tachiyomi.network.HttpException
|
||||||
import eu.kanade.tachiyomi.network.awaitSuccess
|
import eu.kanade.tachiyomi.network.awaitSuccess
|
||||||
|
@ -12,7 +13,6 @@ import kotlinx.serialization.json.jsonObject
|
||||||
import kotlinx.serialization.json.jsonPrimitive
|
import kotlinx.serialization.json.jsonPrimitive
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import yokai.domain.extension.repo.model.ExtensionRepo
|
|
||||||
|
|
||||||
class ExtensionRepoService(
|
class ExtensionRepoService(
|
||||||
private val client: OkHttpClient,
|
private val client: OkHttpClient,
|
|
@ -1,7 +1,7 @@
|
||||||
package yokai.domain.library.custom
|
package dev.yokai.domain.library.custom
|
||||||
|
|
||||||
|
import dev.yokai.domain.library.custom.model.CustomMangaInfo
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import yokai.domain.library.custom.model.CustomMangaInfo
|
|
||||||
|
|
||||||
interface CustomMangaRepository {
|
interface CustomMangaRepository {
|
||||||
fun subscribeAll(): Flow<List<CustomMangaInfo>>
|
fun subscribeAll(): Flow<List<CustomMangaInfo>>
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.library.custom.exception
|
package dev.yokai.domain.library.custom.exception
|
||||||
|
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package yokai.domain.library.custom.interactor
|
package dev.yokai.domain.library.custom.interactor
|
||||||
|
|
||||||
import yokai.domain.library.custom.CustomMangaRepository
|
import dev.yokai.domain.library.custom.CustomMangaRepository
|
||||||
import yokai.domain.library.custom.exception.SaveCustomMangaException
|
import dev.yokai.domain.library.custom.exception.SaveCustomMangaException
|
||||||
import yokai.domain.library.custom.model.CustomMangaInfo
|
import dev.yokai.domain.library.custom.model.CustomMangaInfo
|
||||||
|
|
||||||
class CreateCustomManga(
|
class CreateCustomManga(
|
||||||
private val customMangaRepository: CustomMangaRepository,
|
private val customMangaRepository: CustomMangaRepository,
|
|
@ -1,6 +1,6 @@
|
||||||
package yokai.domain.library.custom.interactor
|
package dev.yokai.domain.library.custom.interactor
|
||||||
|
|
||||||
import yokai.domain.library.custom.CustomMangaRepository
|
import dev.yokai.domain.library.custom.CustomMangaRepository
|
||||||
|
|
||||||
class DeleteCustomManga(
|
class DeleteCustomManga(
|
||||||
private val customMangaRepository: CustomMangaRepository,
|
private val customMangaRepository: CustomMangaRepository,
|
|
@ -1,6 +1,6 @@
|
||||||
package yokai.domain.library.custom.interactor
|
package dev.yokai.domain.library.custom.interactor
|
||||||
|
|
||||||
import yokai.domain.library.custom.CustomMangaRepository
|
import dev.yokai.domain.library.custom.CustomMangaRepository
|
||||||
|
|
||||||
class GetCustomManga(
|
class GetCustomManga(
|
||||||
private val customMangaRepository: CustomMangaRepository,
|
private val customMangaRepository: CustomMangaRepository,
|
|
@ -1,6 +1,6 @@
|
||||||
package yokai.domain.library.custom.interactor
|
package dev.yokai.domain.library.custom.interactor
|
||||||
|
|
||||||
import yokai.domain.library.custom.CustomMangaRepository
|
import dev.yokai.domain.library.custom.CustomMangaRepository
|
||||||
|
|
||||||
class RelinkCustomManga(
|
class RelinkCustomManga(
|
||||||
private val customMangaRepository: CustomMangaRepository,
|
private val customMangaRepository: CustomMangaRepository,
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.library.custom.model
|
package dev.yokai.domain.library.custom.model
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||||
import eu.kanade.tachiyomi.data.database.models.MangaImpl
|
import eu.kanade.tachiyomi.data.database.models.MangaImpl
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.manga
|
package dev.yokai.domain.manga
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.data.database.models.LibraryManga
|
import eu.kanade.tachiyomi.data.database.models.LibraryManga
|
||||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
import eu.kanade.tachiyomi.data.database.models.Manga
|
|
@ -1,8 +1,8 @@
|
||||||
package yokai.domain.manga.interactor
|
package dev.yokai.domain.manga.interactor
|
||||||
|
|
||||||
|
import dev.yokai.domain.manga.MangaRepository
|
||||||
import eu.kanade.tachiyomi.data.database.models.LibraryManga
|
import eu.kanade.tachiyomi.data.database.models.LibraryManga
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import yokai.domain.manga.MangaRepository
|
|
||||||
|
|
||||||
class GetLibraryManga(
|
class GetLibraryManga(
|
||||||
private val mangaRepository: MangaRepository,
|
private val mangaRepository: MangaRepository,
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.recents
|
package dev.yokai.domain.recents
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||||
import eu.kanade.tachiyomi.core.preference.getEnum
|
import eu.kanade.tachiyomi.core.preference.getEnum
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.source
|
package dev.yokai.domain.source
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.storage
|
package dev.yokai.domain.storage
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.storage
|
package dev.yokai.domain.storage
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.core.preference.Preference
|
import eu.kanade.tachiyomi.core.preference.Preference
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
|
@ -1,7 +1,9 @@
|
||||||
package yokai.domain.ui
|
package dev.yokai.domain.ui
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||||
|
import eu.kanade.tachiyomi.core.preference.getEnum
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||||
|
import eu.kanade.tachiyomi.ui.recents.RecentMangaAdapter
|
||||||
|
|
||||||
class UiPreferences(private val preferenceStore: PreferenceStore) {
|
class UiPreferences(private val preferenceStore: PreferenceStore) {
|
||||||
fun recentsViewType() = preferenceStore.getInt("recents_view_type", 0)
|
fun recentsViewType() = preferenceStore.getInt("recents_view_type", 0)
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.domain.ui.settings
|
package dev.yokai.domain.ui.settings
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation
|
package dev.yokai.presentation
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
@ -27,8 +27,8 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||||
import androidx.compose.ui.platform.LocalView
|
import androidx.compose.ui.platform.LocalView
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.core.view.WindowInsetsControllerCompat
|
import androidx.core.view.WindowInsetsControllerCompat
|
||||||
|
import dev.yokai.presentation.component.ToolTipButton
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import yokai.presentation.component.ToolTipButton
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun YokaiScaffold(
|
fun YokaiScaffold(
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component
|
package dev.yokai.presentation.component
|
||||||
|
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.graphics.drawable.AdaptiveIconDrawable
|
import android.graphics.drawable.AdaptiveIconDrawable
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component
|
package dev.yokai.presentation.component
|
||||||
|
|
||||||
import androidx.compose.animation.AnimatedContent
|
import androidx.compose.animation.AnimatedContent
|
||||||
import androidx.compose.animation.core.LinearEasing
|
import androidx.compose.animation.core.LinearEasing
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component
|
package dev.yokai.presentation.component
|
||||||
|
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import androidx.compose.foundation.Image
|
import androidx.compose.foundation.Image
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component
|
package dev.yokai.presentation.component
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.ColumnScope
|
import androidx.compose.foundation.layout.ColumnScope
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component
|
package dev.yokai.presentation.component
|
||||||
|
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
@ -14,7 +14,7 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.semantics.Role
|
import androidx.compose.ui.semantics.Role
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import yokai.presentation.theme.Size
|
import dev.yokai.presentation.theme.Size
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LabeledCheckbox(
|
fun LabeledCheckbox(
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component
|
package dev.yokai.presentation.component
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
|
@ -37,12 +37,12 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
import androidx.compose.ui.unit.LayoutDirection
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.google.accompanist.themeadapter.material3.createMdc3Theme
|
import com.google.accompanist.themeadapter.material3.createMdc3Theme
|
||||||
|
import dev.yokai.presentation.theme.HalfAlpha
|
||||||
|
import dev.yokai.presentation.theme.SecondaryItemAlpha
|
||||||
|
import dev.yokai.presentation.theme.Size
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.util.system.Themes
|
import eu.kanade.tachiyomi.util.system.Themes
|
||||||
import eu.kanade.tachiyomi.util.system.isInNightMode
|
import eu.kanade.tachiyomi.util.system.isInNightMode
|
||||||
import yokai.presentation.theme.HalfAlpha
|
|
||||||
import yokai.presentation.theme.SecondaryItemAlpha
|
|
||||||
import yokai.presentation.theme.Size
|
|
||||||
|
|
||||||
private data class ContextTheme(
|
private data class ContextTheme(
|
||||||
val colorScheme: ColorScheme,
|
val colorScheme: ColorScheme,
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component
|
package dev.yokai.presentation.component
|
||||||
|
|
||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component
|
package dev.yokai.presentation.component
|
||||||
|
|
||||||
import androidx.compose.foundation.Image
|
import androidx.compose.foundation.Image
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
|
@ -15,8 +15,8 @@ import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
import dev.yokai.presentation.core.util.clickableNoIndication
|
||||||
import eu.kanade.tachiyomi.data.track.TrackService
|
import eu.kanade.tachiyomi.data.track.TrackService
|
||||||
import yokai.presentation.core.util.clickableNoIndication
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TrackLogoIcon(
|
fun TrackLogoIcon(
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component.preference
|
package dev.yokai.presentation.component.preference
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component.preference
|
package dev.yokai.presentation.component.preference
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
|
@ -8,7 +8,7 @@ import androidx.compose.ui.res.stringResource
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import com.hippo.unifile.UniFile
|
import com.hippo.unifile.UniFile
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.core.storage.preference.collectAsState
|
import eu.kanade.tachiyomi.core.preference.collectAsState
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun storageLocationText(
|
fun storageLocationText(
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component.preference
|
package dev.yokai.presentation.component.preference
|
||||||
|
|
||||||
import androidx.compose.animation.AnimatedVisibility
|
import androidx.compose.animation.AnimatedVisibility
|
||||||
import androidx.compose.animation.expandVertically
|
import androidx.compose.animation.expandVertically
|
||||||
|
@ -12,19 +12,19 @@ import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.runtime.structuralEqualityPolicy
|
import androidx.compose.runtime.structuralEqualityPolicy
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.tachiyomi.core.storage.preference.collectAsState
|
import dev.yokai.presentation.component.preference.widget.EditTextPreferenceWidget
|
||||||
|
import dev.yokai.presentation.component.preference.widget.InfoWidget
|
||||||
|
import dev.yokai.presentation.component.preference.widget.ListPreferenceWidget
|
||||||
|
import dev.yokai.presentation.component.preference.widget.MultiSelectListPreferenceWidget
|
||||||
|
import dev.yokai.presentation.component.preference.widget.SliderPreferenceWidget
|
||||||
|
import dev.yokai.presentation.component.preference.widget.SwitchPreferenceWidget
|
||||||
|
import dev.yokai.presentation.component.preference.widget.TextPreferenceWidget
|
||||||
|
import dev.yokai.presentation.component.preference.widget.TrackingPreferenceWidget
|
||||||
|
import eu.kanade.tachiyomi.core.preference.collectAsState
|
||||||
import eu.kanade.tachiyomi.data.track.TrackPreferences
|
import eu.kanade.tachiyomi.data.track.TrackPreferences
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import yokai.presentation.component.preference.widget.EditTextPreferenceWidget
|
|
||||||
import yokai.presentation.component.preference.widget.InfoWidget
|
|
||||||
import yokai.presentation.component.preference.widget.ListPreferenceWidget
|
|
||||||
import yokai.presentation.component.preference.widget.MultiSelectListPreferenceWidget
|
|
||||||
import yokai.presentation.component.preference.widget.SliderPreferenceWidget
|
|
||||||
import yokai.presentation.component.preference.widget.SwitchPreferenceWidget
|
|
||||||
import yokai.presentation.component.preference.widget.TextPreferenceWidget
|
|
||||||
import yokai.presentation.component.preference.widget.TrackingPreferenceWidget
|
|
||||||
|
|
||||||
val LocalPreferenceHighlighted = compositionLocalOf(structuralEqualityPolicy()) { false }
|
val LocalPreferenceHighlighted = compositionLocalOf(structuralEqualityPolicy()) { false }
|
||||||
val LocalPreferenceMinHeight = compositionLocalOf(structuralEqualityPolicy()) { 56.dp }
|
val LocalPreferenceMinHeight = compositionLocalOf(structuralEqualityPolicy()) { 56.dp }
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component.preference.widget
|
package dev.yokai.presentation.component.preference.widget
|
||||||
|
|
||||||
import androidx.compose.animation.animateColorAsState
|
import androidx.compose.animation.animateColorAsState
|
||||||
import androidx.compose.animation.core.RepeatMode
|
import androidx.compose.animation.core.RepeatMode
|
||||||
|
@ -30,9 +30,9 @@ import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
import dev.yokai.presentation.component.preference.LocalPreferenceHighlighted
|
||||||
|
import dev.yokai.presentation.component.preference.LocalPreferenceMinHeight
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import yokai.presentation.component.preference.LocalPreferenceHighlighted
|
|
||||||
import yokai.presentation.component.preference.LocalPreferenceMinHeight
|
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
@Composable
|
@Composable
|
|
@ -1,4 +1,4 @@
|
||||||
package yokai.presentation.component.preference.widget
|
package dev.yokai.presentation.component.preference.widget
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
|
@ -22,6 +22,7 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.input.TextFieldValue
|
import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import androidx.compose.ui.window.DialogProperties
|
import androidx.compose.ui.window.DialogProperties
|
||||||
|
import eu.kanade.tachiyomi.R
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue