mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-13 04:28:55 +01:00
# Conflicts: # README.md # app/build.gradle # app/src/main/java/eu/kanade/tachiyomi/App.kt # app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt # app/src/main/java/eu/kanade/tachiyomi/data/updater/UpdateDownloaderReceiver.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt # app/src/main/res/menu/library.xml # app/src/main/res/values/strings.xml # app/src/test/java/eu/kanade/tachiyomi/data/database/ChapterRecognitionTest.kt
91 lines
2.7 KiB
Kotlin
Executable File
91 lines
2.7 KiB
Kotlin
Executable File
package eu.kanade.tachiyomi
|
|
|
|
import android.app.Application
|
|
import android.content.Context
|
|
import android.content.res.Configuration
|
|
import android.support.multidex.MultiDex
|
|
import com.evernote.android.job.JobManager
|
|
import com.github.ajalt.reprint.core.Reprint
|
|
import eu.kanade.tachiyomi.data.backup.BackupCreatorJob
|
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
|
import eu.kanade.tachiyomi.data.notification.Notifications
|
|
import eu.kanade.tachiyomi.data.updater.UpdaterJob
|
|
import eu.kanade.tachiyomi.util.LocaleHelper
|
|
import io.realm.Realm
|
|
import io.realm.RealmConfiguration
|
|
import timber.log.Timber
|
|
import uy.kohesive.injekt.Injekt
|
|
import uy.kohesive.injekt.api.InjektScope
|
|
import uy.kohesive.injekt.registry.default.DefaultRegistrar
|
|
import java.io.File
|
|
import kotlin.concurrent.thread
|
|
|
|
open class App : Application() {
|
|
|
|
override fun onCreate() {
|
|
super.onCreate()
|
|
if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree())
|
|
|
|
Injekt = InjektScope(DefaultRegistrar())
|
|
Injekt.importModule(AppModule(this))
|
|
|
|
setupJobManager()
|
|
setupNotificationChannels()
|
|
setupRealm() //Setup metadata DB (EH)
|
|
Reprint.initialize(this) //Setup fingerprint (EH)
|
|
|
|
LocaleHelper.updateConfiguration(this, resources.configuration)
|
|
}
|
|
|
|
override fun attachBaseContext(base: Context) {
|
|
super.attachBaseContext(base)
|
|
if (BuildConfig.DEBUG) {
|
|
MultiDex.install(this)
|
|
}
|
|
}
|
|
|
|
override fun onConfigurationChanged(newConfig: Configuration) {
|
|
super.onConfigurationChanged(newConfig)
|
|
LocaleHelper.updateConfiguration(this, newConfig, true)
|
|
}
|
|
|
|
protected open fun setupJobManager() {
|
|
JobManager.create(this).addJobCreator { tag ->
|
|
when (tag) {
|
|
LibraryUpdateJob.TAG -> LibraryUpdateJob()
|
|
UpdaterJob.TAG -> UpdaterJob()
|
|
BackupCreatorJob.TAG -> BackupCreatorJob()
|
|
else -> null
|
|
}
|
|
}
|
|
}
|
|
|
|
protected open fun setupNotificationChannels() {
|
|
Notifications.createChannels(this)
|
|
}
|
|
|
|
// EXH
|
|
private fun setupRealm() {
|
|
Realm.init(this)
|
|
val config = RealmConfiguration.Builder()
|
|
.name("gallery-metadata.realm")
|
|
.schemaVersion(2)
|
|
.deleteRealmIfMigrationNeeded()
|
|
.build()
|
|
Realm.setDefaultConfiguration(config)
|
|
|
|
//Delete old paper db files
|
|
listOf(
|
|
File(filesDir, "gallery-ex"),
|
|
File(filesDir, "gallery-perveden"),
|
|
File(filesDir, "gallery-nhentai")
|
|
).forEach {
|
|
if(it.exists()) {
|
|
thread {
|
|
it.deleteRecursively()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|