forked from MarcoBuster/Magisk
44 lines
1.5 KiB
Kotlin
44 lines
1.5 KiB
Kotlin
package com.topjohnwu.magisk.events.dialog
|
|
|
|
import com.topjohnwu.magisk.R
|
|
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.model.module.OnlineModule
|
|
import com.topjohnwu.magisk.view.MagiskDialog
|
|
|
|
class ModuleInstallDialog(private val item: OnlineModule) : DialogEvent() {
|
|
|
|
override fun build(dialog: MagiskDialog) {
|
|
with(dialog) {
|
|
|
|
fun download(install: Boolean) {
|
|
val config = if (install) Action.Flash else Action.Download
|
|
val subject = Subject.Module(item, config)
|
|
DownloadService.start(context, subject)
|
|
}
|
|
|
|
applyTitle(context.getString(R.string.repo_install_title, item.name))
|
|
.applyMessage(context.getString(R.string.repo_install_msg, item.downloadFilename))
|
|
.cancellable(true)
|
|
.applyButton(MagiskDialog.ButtonType.NEGATIVE) {
|
|
titleRes = R.string.download
|
|
icon = R.drawable.ic_download_md2
|
|
onClick { download(false) }
|
|
}
|
|
|
|
if (Info.env.isActive) {
|
|
applyButton(MagiskDialog.ButtonType.POSITIVE) {
|
|
titleRes = R.string.install
|
|
icon = R.drawable.ic_install
|
|
onClick { download(true) }
|
|
}
|
|
}
|
|
|
|
reveal()
|
|
}
|
|
}
|
|
|
|
}
|