Only offer shortcuts when running as stub

This commit is contained in:
topjohnwu 2020-08-22 10:51:32 -07:00
parent 27c59dbb65
commit a22a1dd284
5 changed files with 13 additions and 11 deletions

View File

@ -136,7 +136,7 @@ private class JobSchedulerWrapper(private val base: JobScheduler) : JobScheduler
val name = service.className
val component = ComponentName(
service.packageName,
Info.stub!!.classToComponent[name] ?: name
Info.stubChk.classToComponent[name] ?: name
)
javaClass.forceGetDeclaredField("service")?.set(this, component)

View File

@ -18,9 +18,13 @@ object Info {
val envRef = CachedValue { loadState() }
@JvmStatic val env by envRef // Local
@JvmStatic var stub: DynAPK.Data? = null // Stub
var remote = UpdateInfo() // Remote
@JvmStatic val env by envRef
var stub: DynAPK.Data? = null
val stubChk: DynAPK.Data
get() = stub as DynAPK.Data
var remote = UpdateInfo()
// Toggle-able options
@JvmStatic var keepVerity = false

View File

@ -38,7 +38,7 @@ private suspend fun DownloadService.upgrade(apk: File, id: Int) {
// Move to upgrade location
apk.copyTo(DynAPK.update(this), overwrite = true)
apk.delete()
if (Info.stub!!.version < Info.remote.stub.versionCode) {
if (Info.stubChk.version < Info.remote.stub.versionCode) {
// We also want to upgrade stub
service.fetchFile(Info.remote.stub.link).byteStream().use {
it.writeTo(apk)

View File

@ -195,11 +195,8 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
}
private fun askForHomeShortcut() {
// Don't bother if we are not hidden
if (packageName == BuildConfig.APPLICATION_ID)
return
if (!Config.askedHome && ShortcutManagerCompat.isRequestPinShortcutSupported(this)) {
if (isRunningAsStub && !Config.askedHome &&
ShortcutManagerCompat.isRequestPinShortcutSupported(this)) {
// Ask and show dialog
Config.askedHome = true
MagiskDialog(this)

View File

@ -18,6 +18,7 @@ import com.topjohnwu.magisk.core.Info
import com.topjohnwu.magisk.core.download.Action
import com.topjohnwu.magisk.core.download.DownloadService
import com.topjohnwu.magisk.core.download.Subject
import com.topjohnwu.magisk.core.isRunningAsStub
import com.topjohnwu.magisk.core.utils.PatchAPK
import com.topjohnwu.magisk.data.database.RepoDao
import com.topjohnwu.magisk.events.AddHomeIconEvent
@ -56,7 +57,7 @@ class SettingsViewModel(
// making theming a pain in the ass. Just forget about it
list.remove(Theme)
}
if (hidden && ShortcutManagerCompat.isRequestPinShortcutSupported(context))
if (isRunningAsStub && ShortcutManagerCompat.isRequestPinShortcutSupported(context))
list.add(AddShortcut)
// Manager