android support! thanks to TachiWeb devs.

This commit is contained in:
Aria Moradi
2021-01-02 04:57:20 +03:30
parent ced07d4e1e
commit 1e46a0c78c
291 changed files with 68699 additions and 16 deletions

View File

@@ -0,0 +1,32 @@
package eu.kanade.tachiyomi
import android.app.Application
import android.content.Context
//import android.content.res.Configuration
//import android.support.multidex.MultiDex
//import timber.log.Timber
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.InjektScope
import uy.kohesive.injekt.registry.default.DefaultRegistrar
open class App : Application() {
override fun onCreate() {
super.onCreate()
Injekt = InjektScope(DefaultRegistrar())
Injekt.importModule(AppModule(this))
// if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree())
}
override fun attachBaseContext(base: Context) {
super.attachBaseContext(base)
// if (BuildConfig.DEBUG) {
// MultiDex.install(this)
// }
}
// override fun onConfigurationChanged(newConfig: Configuration) {
// super.onConfigurationChanged(newConfig)
// }
}

View File

@@ -0,0 +1,66 @@
package eu.kanade.tachiyomi
import android.app.Application
import com.google.gson.Gson
//import eu.kanade.tachiyomi.data.cache.ChapterCache
//import eu.kanade.tachiyomi.data.cache.CoverCache
//import eu.kanade.tachiyomi.data.database.DatabaseHelper
//import eu.kanade.tachiyomi.data.download.DownloadManager
//import eu.kanade.tachiyomi.data.preference.PreferencesHelper
//import eu.kanade.tachiyomi.data.sync.LibrarySyncManager
//import eu.kanade.tachiyomi.data.track.TrackManager
//import eu.kanade.tachiyomi.extension.ExtensionManager
import eu.kanade.tachiyomi.network.NetworkHelper
import eu.kanade.tachiyomi.source.SourceManager
import rx.Observable
import rx.schedulers.Schedulers
import uy.kohesive.injekt.api.*
class AppModule(val app: Application) : InjektModule {
override fun InjektRegistrar.registerInjectables() {
addSingleton(app)
// addSingletonFactory { PreferencesHelper(app) }
//
// addSingletonFactory { DatabaseHelper(app) }
//
// addSingletonFactory { ChapterCache(app) }
//
// addSingletonFactory { CoverCache(app) }
addSingletonFactory { NetworkHelper(app) }
// addSingletonFactory { SourceManager(app).also { get<ExtensionManager>().init(it) } }
//
// addSingletonFactory { ExtensionManager(app) }
//
// addSingletonFactory { DownloadManager(app) }
//
// addSingletonFactory { TrackManager(app) }
//
// addSingletonFactory { LibrarySyncManager(app) }
addSingletonFactory { Gson() }
// Asynchronously init expensive components for a faster cold start
// rxAsync { get<PreferencesHelper>() }
rxAsync { get<NetworkHelper>() }
rxAsync {
// get<SourceManager>()
// get<DownloadManager>()
}
// rxAsync { get<DatabaseHelper>() }
}
private fun rxAsync(block: () -> Unit) {
Observable.fromCallable { block() }.subscribeOn(Schedulers.computation()).subscribe()
}
}

View File

@@ -7,6 +7,8 @@ import kotlinx.serialization.json.JsonArray
import okhttp3.MediaType.Companion.toMediaType
import retrofit2.Retrofit
import retrofit2.http.GET
import uy.kohesive.injekt.injectLazy
//import uy.kohesive.injekt.injectLazy
/**
@@ -16,7 +18,7 @@ interface ExtensionGithubService {
companion object {
private val client by lazy {
val network: NetworkHelper = NetworkHelper()
val network: NetworkHelper by injectLazy()
network.client.newBuilder()
.addNetworkInterceptor { chain ->
val originalResponse = chain.proceed(chain.request())

View File

@@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.network
//import android.content.Context
//import eu.kanade.tachiyomi.BuildConfig
//import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import android.content.Context
import okhttp3.Cache
//import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.OkHttpClient
@@ -13,7 +14,7 @@ import java.io.File
import java.net.InetAddress
import java.util.concurrent.TimeUnit
class NetworkHelper() {
class NetworkHelper(context: Context) {
// private val preferences: PreferencesHelper by injectLazy()

View File

@@ -15,6 +15,7 @@ import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
import rx.Observable
import uy.kohesive.injekt.injectLazy
//import uy.kohesive.injekt.injectLazy
import java.net.URI
import java.net.URISyntaxException
@@ -28,7 +29,7 @@ abstract class HttpSource : CatalogueSource {
/**
* Network service.
*/
protected val network = NetworkHelper()
protected val network: NetworkHelper by injectLazy()
// /**
// * Preferences that a source may need.