From 706eba329d8c76448af366eb359c8e4e26754d97 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Sat, 4 Jul 2020 02:55:19 -0700 Subject: [PATCH] Add release notes to the install fragment --- .../topjohnwu/magisk/di/ViewModelsModule.kt | 2 +- .../magisk/ui/install/InstallViewModel.kt | 22 ++++++++++--- .../main/res/layout/fragment_install_md2.xml | 31 +++++++++++++++---- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/di/ViewModelsModule.kt b/app/src/main/java/com/topjohnwu/magisk/di/ViewModelsModule.kt index 1149049bb..33b07375b 100644 --- a/app/src/main/java/com/topjohnwu/magisk/di/ViewModelsModule.kt +++ b/app/src/main/java/com/topjohnwu/magisk/di/ViewModelsModule.kt @@ -25,7 +25,7 @@ val viewModelModules = module { viewModel { SettingsViewModel(get()) } viewModel { SuperuserViewModel(get(), get(), get()) } viewModel { ThemeViewModel() } - viewModel { InstallViewModel() } + viewModel { InstallViewModel(get(), get()) } viewModel { MainViewModel() } // Legacy diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt index 221260efc..a7ba76486 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt @@ -1,13 +1,17 @@ package com.topjohnwu.magisk.ui.install import android.net.Uri +import android.text.SpannableString +import android.text.Spanned import android.widget.Toast import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.download.DownloadService import com.topjohnwu.magisk.core.download.RemoteFileService import com.topjohnwu.magisk.core.utils.Utils +import com.topjohnwu.magisk.data.repository.StringRepository import com.topjohnwu.magisk.extensions.addOnPropertyChangedCallback +import com.topjohnwu.magisk.extensions.subscribeK import com.topjohnwu.magisk.model.entity.internal.Configuration import com.topjohnwu.magisk.model.entity.internal.DownloadSubject import com.topjohnwu.magisk.model.events.RequestFileEvent @@ -15,20 +19,23 @@ import com.topjohnwu.magisk.model.events.dialog.SecondSlotWarningDialog import com.topjohnwu.magisk.ui.base.BaseViewModel import com.topjohnwu.magisk.utils.KObservableField import com.topjohnwu.superuser.Shell +import io.noties.markwon.Markwon import org.koin.core.get import kotlin.math.roundToInt -class InstallViewModel : BaseViewModel(State.LOADED) { +class InstallViewModel( + stringRepo: StringRepository, + markwon: Markwon +) : BaseViewModel(State.LOADED) { val isRooted get() = Shell.rootAccess() val isAB get() = Info.isAB val step = KObservableField(0) val method = KObservableField(-1) - val progress = KObservableField(0) - - var data = KObservableField(null) + val data = KObservableField(null) + val notes = KObservableField(SpannableString("")) init { RemoteFileService.reset() @@ -42,8 +49,13 @@ class InstallViewModel : BaseViewModel(State.LOADED) { state = State.LOADED } } + stringRepo.getString(Info.remote.magisk.note).map { + markwon.toMarkdown(it) + }.subscribeK { + notes.value = it + } method.addOnPropertyChangedCallback { - when (method.value) { + when (it!!) { R.id.method_patch -> { Utils.toast(R.string.patch_file_msg, Toast.LENGTH_LONG) RequestFileEvent().publish() diff --git a/app/src/main/res/layout/fragment_install_md2.xml b/app/src/main/res/layout/fragment_install_md2.xml index 14febbd86..01bf98bb1 100644 --- a/app/src/main/res/layout/fragment_install_md2.xml +++ b/app/src/main/res/layout/fragment_install_md2.xml @@ -50,7 +50,7 @@ android:layout_height="wrap_content" android:minHeight="?listPreferredItemHeightSmall"> - - - - + + + + + + - -