mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-06-30 17:34:39 -05:00
61 lines
1.8 KiB
Kotlin
61 lines
1.8 KiB
Kotlin
package ir.armor.tachidesk
|
|
|
|
import eu.kanade.tachiyomi.App
|
|
import ir.armor.tachidesk.database.makeDataBaseTables
|
|
import ir.armor.tachidesk.util.systemTray
|
|
import net.harawata.appdirs.AppDirsFactory
|
|
import org.kodein.di.DI
|
|
import org.kodein.di.conf.global
|
|
import xyz.nulldev.androidcompat.AndroidCompat
|
|
import xyz.nulldev.androidcompat.AndroidCompatInitializer
|
|
import xyz.nulldev.ts.config.ConfigKodeinModule
|
|
import xyz.nulldev.ts.config.GlobalConfigManager
|
|
import java.io.File
|
|
|
|
object applicationDirs {
|
|
val dataRoot = AppDirsFactory.getInstance().getUserDataDir("Tachidesk", null, null)!!
|
|
val extensionsRoot = "$dataRoot/extensions"
|
|
val thumbnailsRoot = "$dataRoot/thumbnails"
|
|
val mangaRoot = "$dataRoot/manga"
|
|
}
|
|
|
|
val serverConfig: ServerConfig by lazy { GlobalConfigManager.module() }
|
|
|
|
val systemTray by lazy { systemTray() }
|
|
|
|
val androidCompat by lazy { AndroidCompat() }
|
|
|
|
fun serverSetup() {
|
|
// register server config
|
|
GlobalConfigManager.registerModule(
|
|
ServerConfig.register(GlobalConfigManager.config)
|
|
)
|
|
|
|
// make dirs we need
|
|
listOf(
|
|
applicationDirs.dataRoot,
|
|
applicationDirs.extensionsRoot,
|
|
"${applicationDirs.extensionsRoot}/icon",
|
|
applicationDirs.thumbnailsRoot
|
|
).forEach {
|
|
File(it).mkdirs()
|
|
}
|
|
|
|
makeDataBaseTables()
|
|
|
|
// create system tray
|
|
systemTray
|
|
|
|
// Load config API
|
|
DI.global.addImport(ConfigKodeinModule().create())
|
|
// Load Android compatibility dependencies
|
|
AndroidCompatInitializer().init()
|
|
// start app
|
|
androidCompat.startApp(App())
|
|
|
|
// socks proxy settings
|
|
System.getProperties()["proxySet"] = serverConfig.socksProxy.toString()
|
|
System.getProperties()["socksProxyHost"] = serverConfig.socksProxyHost
|
|
System.getProperties()["socksProxyPort"] = serverConfig.socksProxyPort
|
|
}
|