mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-02-25 11:47:23 +00:00
Set notes on main thread
This commit is contained in:
parent
7be958e35d
commit
22e023b58d
@ -34,7 +34,8 @@ object VMFactory : ViewModelProvider.Factory {
|
|||||||
HomeViewModel::class.java -> HomeViewModel(ServiceLocator.networkService)
|
HomeViewModel::class.java -> HomeViewModel(ServiceLocator.networkService)
|
||||||
LogViewModel::class.java -> LogViewModel(ServiceLocator.logRepo)
|
LogViewModel::class.java -> LogViewModel(ServiceLocator.logRepo)
|
||||||
SuperuserViewModel::class.java -> SuperuserViewModel(ServiceLocator.policyDB)
|
SuperuserViewModel::class.java -> SuperuserViewModel(ServiceLocator.policyDB)
|
||||||
InstallViewModel::class.java -> InstallViewModel(ServiceLocator.networkService)
|
InstallViewModel::class.java ->
|
||||||
|
InstallViewModel(ServiceLocator.networkService, ServiceLocator.markwon)
|
||||||
SuRequestViewModel::class.java ->
|
SuRequestViewModel::class.java ->
|
||||||
SuRequestViewModel(ServiceLocator.policyDB, ServiceLocator.timeoutPrefs)
|
SuRequestViewModel(ServiceLocator.policyDB, ServiceLocator.timeoutPrefs)
|
||||||
else -> modelClass.newInstance()
|
else -> modelClass.newInstance()
|
||||||
|
@ -3,8 +3,8 @@ package com.topjohnwu.magisk.ui.install
|
|||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import android.text.SpannableStringBuilder
|
|
||||||
import android.text.Spanned
|
import android.text.Spanned
|
||||||
|
import android.text.SpannedString
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.databinding.Bindable
|
import androidx.databinding.Bindable
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
@ -19,23 +19,22 @@ import com.topjohnwu.magisk.core.Const
|
|||||||
import com.topjohnwu.magisk.core.Info
|
import com.topjohnwu.magisk.core.Info
|
||||||
import com.topjohnwu.magisk.core.base.ContentResultCallback
|
import com.topjohnwu.magisk.core.base.ContentResultCallback
|
||||||
import com.topjohnwu.magisk.core.di.AppContext
|
import com.topjohnwu.magisk.core.di.AppContext
|
||||||
import com.topjohnwu.magisk.core.di.ServiceLocator
|
|
||||||
import com.topjohnwu.magisk.core.ktx.toast
|
import com.topjohnwu.magisk.core.ktx.toast
|
||||||
import com.topjohnwu.magisk.core.repository.NetworkService
|
import com.topjohnwu.magisk.core.repository.NetworkService
|
||||||
import com.topjohnwu.magisk.databinding.set
|
import com.topjohnwu.magisk.databinding.set
|
||||||
import com.topjohnwu.magisk.dialog.SecondSlotWarningDialog
|
import com.topjohnwu.magisk.dialog.SecondSlotWarningDialog
|
||||||
import com.topjohnwu.magisk.events.GetContentEvent
|
import com.topjohnwu.magisk.events.GetContentEvent
|
||||||
import com.topjohnwu.magisk.ui.flash.FlashFragment
|
import com.topjohnwu.magisk.ui.flash.FlashFragment
|
||||||
|
import io.noties.markwon.Markwon
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import kotlinx.coroutines.withContext
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
class InstallViewModel(
|
class InstallViewModel(svc: NetworkService, markwon: Markwon) : BaseViewModel() {
|
||||||
svc: NetworkService
|
|
||||||
) : BaseViewModel() {
|
|
||||||
|
|
||||||
val isRooted get() = Info.isRooted
|
val isRooted get() = Info.isRooted
|
||||||
val hideVbmeta = Info.vbmeta || Info.isSamsung || Info.isAB
|
val hideVbmeta = Info.vbmeta || Info.isSamsung || Info.isAB
|
||||||
@ -65,7 +64,7 @@ class InstallViewModel(
|
|||||||
val data: LiveData<Uri?> get() = uri
|
val data: LiveData<Uri?> get() = uri
|
||||||
|
|
||||||
@get:Bindable
|
@get:Bindable
|
||||||
var notes: Spanned = SpannableStringBuilder()
|
var notes: Spanned = SpannedString("")
|
||||||
set(value) = set(value, field, { field = it }, BR.notes)
|
set(value) = set(value, field, { field = it }, BR.notes)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
@ -81,7 +80,10 @@ class InstallViewModel(
|
|||||||
str
|
str
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
notes = ServiceLocator.markwon.toMarkdown(text)
|
val spanned = markwon.toMarkdown(text)
|
||||||
|
withContext(Dispatchers.Main) {
|
||||||
|
notes = spanned
|
||||||
|
}
|
||||||
} catch (e: IOException) {
|
} catch (e: IOException) {
|
||||||
Timber.e(e)
|
Timber.e(e)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user