58 lines
2.0 KiB
Kotlin
58 lines
2.0 KiB
Kotlin
package io.nekohasekai.sfa
|
|
|
|
import android.app.Application
|
|
import android.app.NotificationManager
|
|
import android.content.ClipboardManager
|
|
import android.content.Context
|
|
import android.content.Intent
|
|
import android.content.IntentFilter
|
|
import android.net.ConnectivityManager
|
|
import android.net.wifi.WifiManager
|
|
import android.os.PowerManager
|
|
import androidx.core.content.getSystemService
|
|
import go.Seq
|
|
import io.nekohasekai.libbox.Libbox
|
|
import io.nekohasekai.sfa.bg.AppChangeReceiver
|
|
import io.nekohasekai.sfa.bg.UpdateProfileWork
|
|
import kotlinx.coroutines.Dispatchers
|
|
import kotlinx.coroutines.GlobalScope
|
|
import kotlinx.coroutines.launch
|
|
import java.util.Locale
|
|
import io.nekohasekai.sfa.Application as BoxApplication
|
|
|
|
class Application : Application() {
|
|
|
|
override fun attachBaseContext(base: Context?) {
|
|
super.attachBaseContext(base)
|
|
application = this
|
|
}
|
|
|
|
override fun onCreate() {
|
|
super.onCreate()
|
|
|
|
Seq.setContext(this)
|
|
Libbox.setLocale(Locale.getDefault().toLanguageTag().replace("-", "_"))
|
|
|
|
@Suppress("OPT_IN_USAGE")
|
|
GlobalScope.launch(Dispatchers.IO) {
|
|
UpdateProfileWork.reconfigureUpdater()
|
|
}
|
|
|
|
registerReceiver(AppChangeReceiver(), IntentFilter().apply {
|
|
addAction(Intent.ACTION_PACKAGE_ADDED)
|
|
addDataScheme("package")
|
|
})
|
|
}
|
|
|
|
companion object {
|
|
lateinit var application: BoxApplication
|
|
val notification by lazy { application.getSystemService<NotificationManager>()!! }
|
|
val connectivity by lazy { application.getSystemService<ConnectivityManager>()!! }
|
|
val packageManager by lazy { application.packageManager }
|
|
val powerManager by lazy { application.getSystemService<PowerManager>()!! }
|
|
val notificationManager by lazy { application.getSystemService<NotificationManager>()!! }
|
|
val wifiManager by lazy { application.getSystemService<WifiManager>()!! }
|
|
val clipboard by lazy { application.getSystemService<ClipboardManager>()!! }
|
|
}
|
|
|
|
} |