Magisk/app/src/main/java/com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt

44 lines
1.5 KiB
Kotlin
Raw Normal View History

package com.topjohnwu.magisk.events.dialog
import com.topjohnwu.magisk.R
import com.topjohnwu.magisk.core.Info
2020-08-21 15:45:40 +02:00
import com.topjohnwu.magisk.core.download.Action
2020-01-13 15:01:46 +01:00
import com.topjohnwu.magisk.core.download.DownloadService
2020-08-21 15:45:40 +02:00
import com.topjohnwu.magisk.core.download.Subject
2020-10-11 07:40:57 +02:00
import com.topjohnwu.magisk.core.model.module.OnlineModule
import com.topjohnwu.magisk.view.MagiskDialog
2020-10-11 07:40:57 +02:00
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)
2020-08-28 13:50:46 +02:00
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()
}
}
2020-01-13 15:01:46 +01:00
}