package com.topjohnwu.magisk.dialog import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.di.AppContext import com.topjohnwu.magisk.core.di.ServiceLocator import com.topjohnwu.magisk.core.download.DownloadManager import com.topjohnwu.magisk.core.download.Subject import com.topjohnwu.magisk.view.MagiskDialog import java.io.File class ManagerInstallDialog : MarkDownDialog() { private val svc get() = ServiceLocator.networkService override suspend fun getMarkdownText(): String { val text = svc.fetchString(Info.remote.magisk.note) // Cache the changelog AppContext.cacheDir.listFiles { _, name -> name.endsWith(".md") }.orEmpty().forEach { it.delete() } File(AppContext.cacheDir, "${Info.remote.magisk.versionCode}.md").writeText(text) return text } override fun build(dialog: MagiskDialog) { super.build(dialog) dialog.apply { setCancelable(true) setButton(MagiskDialog.ButtonType.POSITIVE) { text = R.string.install onClick { DownloadManager.start(activity, Subject.App()) } } setButton(MagiskDialog.ButtonType.NEGATIVE) { text = android.R.string.cancel } } } }