Consolidate Magisk download subject

This commit is contained in:
topjohnwu 2019-07-23 00:55:12 -07:00
parent a97972aac0
commit a8932706d8
2 changed files with 25 additions and 14 deletions

View File

@ -50,7 +50,6 @@ open class DownloadService : RemoteFileService() {
Uninstall -> FlashActivity.uninstall(this, file) Uninstall -> FlashActivity.uninstall(this, file)
is Patch -> FlashActivity.patch(this, file, conf.fileUri) is Patch -> FlashActivity.patch(this, file, conf.fileUri)
is Flash -> FlashActivity.flash(this, file, conf is Secondary) is Flash -> FlashActivity.flash(this, file, conf is Secondary)
else -> Unit
} }
private fun onFinishedInternal( private fun onFinishedInternal(

View File

@ -16,24 +16,36 @@ sealed class DownloadSubject : Parcelable {
val module: Repo, val module: Repo,
val configuration: Configuration val configuration: Configuration
) : DownloadSubject() { ) : DownloadSubject() {
override val url: String get() = module.zipUrl override val url: String get() = module.zipUrl
override val fileName: String get() = "${module.name}-v${module.version}(${module.versionCode}).zip" override val fileName: String get() = "${module.name}-v${module.version}(${module.versionCode}).zip"
}
sealed class Magisk : DownloadSubject() {
abstract val configuration: Configuration
val magisk: MagiskJson = Info.remote.magisk
@Parcelize
protected data class Flash(
override val configuration: Configuration
) : Magisk() {
override val url: String get() = magisk.link
override val fileName get() = "magisk.zip"
} }
@Parcelize @Parcelize
data class Magisk( protected object Download : Magisk() {
val configuration: Configuration, override val configuration: Configuration get() = Configuration.Download
val magisk: MagiskJson = Info.remote.magisk
) : DownloadSubject() {
override val url: String get() = magisk.link override val url: String get() = magisk.link
override val fileName get() = override val fileName get() = "Magisk-v${magisk.version}(${magisk.versionCode}).zip"
if (configuration is Configuration.Flash) }
"magisk.zip"
else companion object {
"Magisk-v${magisk.version}(${magisk.versionCode}).zip" operator fun invoke(configuration: Configuration) = when (configuration) {
Configuration.Download -> Download
else -> Flash(configuration)
}
}
} }