39 lines
1.2 KiB
Kotlin
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() }
|
|
}
|
|
}
|