VancedManager/app/src/main/java/com/vanced/manager/core/App.kt

52 lines
1.7 KiB
Kotlin
Raw Normal View History

package com.vanced.manager.core
import android.app.Application
2020-09-16 05:18:07 +00:00
import android.content.res.Configuration
2020-11-03 07:28:18 +00:00
import android.util.Log
2020-09-25 17:01:24 +00:00
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
2020-07-06 11:38:00 +00:00
import com.crowdin.platform.Crowdin
import com.crowdin.platform.CrowdinConfig
2020-11-02 15:53:12 +00:00
import com.crowdin.platform.data.model.AuthConfig
2020-07-06 11:38:00 +00:00
import com.crowdin.platform.data.remote.NetworkType
import com.downloader.PRDownloader
2020-11-03 07:28:18 +00:00
import com.vanced.manager.BuildConfig.*
import com.vanced.manager.utils.InternetTools.loadJson
import kotlinx.coroutines.*
2020-09-16 05:18:07 +00:00
open class App: Application() {
2020-11-02 15:53:12 +00:00
private val prefs by lazy { getDefaultSharedPreferences(this) }
private val scope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate)
2020-11-02 15:53:12 +00:00
override fun onCreate() {
scope.launch { loadJson(this@App) }
2020-09-20 14:41:28 +00:00
super.onCreate()
PRDownloader.initialize(this)
2020-07-06 11:38:00 +00:00
2020-09-20 14:41:28 +00:00
Crowdin.init(this,
2020-11-02 15:53:12 +00:00
CrowdinConfig.Builder().apply {
2020-11-03 07:28:18 +00:00
withDistributionHash(CROWDIN_HASH)
2020-11-02 15:53:12 +00:00
withNetworkType(NetworkType.WIFI)
2020-11-03 07:28:18 +00:00
if (ENABLE_CROWDIN_AUTH) {
if (prefs.getBoolean("crowdin_real_time", false))
withRealTimeUpdates()
2020-11-02 15:53:12 +00:00
withSourceLanguage("en")
2020-11-03 07:28:18 +00:00
withAuthConfig(AuthConfig(CROWDIN_CLIENT_ID, CROWDIN_CLIENT_SECRET, null))
2020-11-02 15:53:12 +00:00
withScreenshotEnabled()
2020-11-03 07:28:18 +00:00
Log.d("test", "crowdin credentials")
2020-11-02 15:53:12 +00:00
}
}.build()
2020-09-20 14:41:28 +00:00
)
2020-11-03 07:28:18 +00:00
2020-11-02 15:53:12 +00:00
if (prefs.getBoolean("crowdin_upload_screenshot", false))
Crowdin.registerScreenShotContentObserver(this)
2020-08-23 00:24:43 +00:00
2020-07-06 11:38:00 +00:00
}
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
Crowdin.onConfigurationChanged()
}
2020-08-12 13:40:13 +00:00
}