mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-11-25 11:05:34 +00:00
9f9de8c43b
Remove unused components and hack the context sent into WorkManager
76 lines
2.3 KiB
Kotlin
76 lines
2.3 KiB
Kotlin
package com.topjohnwu.magisk.ui
|
|
|
|
import android.app.Activity
|
|
import android.content.Context
|
|
import android.os.Bundle
|
|
import android.text.TextUtils
|
|
import androidx.appcompat.app.AlertDialog
|
|
import com.topjohnwu.magisk.*
|
|
import com.topjohnwu.magisk.utils.Utils
|
|
import com.topjohnwu.magisk.wrap
|
|
import com.topjohnwu.magisk.view.Notifications
|
|
import com.topjohnwu.magisk.view.Shortcuts
|
|
import com.topjohnwu.superuser.Shell
|
|
|
|
open class SplashActivity : Activity() {
|
|
|
|
override fun attachBaseContext(base: Context) {
|
|
super.attachBaseContext(base.wrap())
|
|
}
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
|
|
Shell.getShell {
|
|
if (Info.magiskVersionCode > 0 && Info.magiskVersionCode < Const.MagiskVersion.MIN_SUPPORT) {
|
|
AlertDialog.Builder(this)
|
|
.setTitle(R.string.unsupport_magisk_title)
|
|
.setMessage(R.string.unsupport_magisk_message)
|
|
.setNegativeButton(R.string.ok, null)
|
|
.setOnDismissListener { finish() }
|
|
.show()
|
|
} else {
|
|
initAndStart()
|
|
}
|
|
}
|
|
}
|
|
|
|
private fun initAndStart() {
|
|
val pkg = Config.suManager
|
|
if (Config.suManager.isNotEmpty() && packageName == BuildConfig.APPLICATION_ID) {
|
|
Config.suManager = ""
|
|
Shell.su("pm uninstall $pkg").submit()
|
|
}
|
|
if (TextUtils.equals(pkg, packageName)) {
|
|
runCatching {
|
|
// We are the manager, remove com.topjohnwu.magisk as it could be malware
|
|
packageManager.getApplicationInfo(BuildConfig.APPLICATION_ID, 0)
|
|
Shell.su("pm uninstall " + BuildConfig.APPLICATION_ID).submit()
|
|
}
|
|
}
|
|
|
|
// Set default configs
|
|
Config.initialize()
|
|
|
|
// Create notification channel on Android O
|
|
Notifications.setup(this)
|
|
|
|
// Schedule periodic update checks
|
|
Utils.scheduleUpdateCheck(this)
|
|
|
|
// Setup shortcuts
|
|
Shortcuts.setup(this)
|
|
|
|
val intent = intent(MainActivity::class.java)
|
|
intent.putExtra(Const.Key.OPEN_SECTION, getIntent().getStringExtra(Const.Key.OPEN_SECTION))
|
|
DONE = true
|
|
startActivity(intent)
|
|
finish()
|
|
}
|
|
|
|
companion object {
|
|
|
|
var DONE = false
|
|
}
|
|
}
|