GKMSPatch/manager/src/main/java/org/lsposed/lspatch/LSPApplication.kt

39 lines
1.2 KiB
Kotlin

package org.lsposed.lspatch
import android.app.Application
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.lsposed.hiddenapibypass.HiddenApiBypass
import org.lsposed.lspatch.manager.AppBroadcastReceiver
import org.lsposed.lspatch.manager.ModuleService
import org.lsposed.lspatch.util.LSPPackageManager
import org.lsposed.lspatch.util.ShizukuApi
import java.io.File
lateinit var lspApp: LSPApplication
class LSPApplication : Application() {
lateinit var prefs: SharedPreferences
lateinit var tmpApkDir: File
val globalScope = CoroutineScope(Dispatchers.Default)
override fun onCreate() {
super.onCreate()
HiddenApiBypass.addHiddenApiExemptions("")
lspApp = this
filesDir.mkdir()
tmpApkDir = cacheDir.resolve("apk").also { it.mkdir() }
prefs = lspApp.getSharedPreferences("settings", Context.MODE_PRIVATE)
ShizukuApi.init()
AppBroadcastReceiver.register(this)
startService(Intent(this, ModuleService::class.java))
globalScope.launch { LSPPackageManager.fetchAppList() }
}
}