mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-24 18:47:38 +00:00
Fixed magisk version
Added refreshing versions before and after the request to remote
This commit is contained in:
parent
021994c9f3
commit
39e9622205
@ -14,7 +14,9 @@ import io.reactivex.Observable
|
|||||||
import io.reactivex.subjects.PublishSubject
|
import io.reactivex.subjects.PublishSubject
|
||||||
|
|
||||||
|
|
||||||
abstract class MagiskViewModel : LoadingViewModel() {
|
abstract class MagiskViewModel(
|
||||||
|
initialState: State = State.LOADING
|
||||||
|
) : LoadingViewModel(initialState) {
|
||||||
|
|
||||||
val isConnected = KObservableField(true)
|
val isConnected = KObservableField(true)
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ enum class MagiskItem {
|
|||||||
|
|
||||||
class HomeViewModel(
|
class HomeViewModel(
|
||||||
private val magiskRepo: MagiskRepository
|
private val magiskRepo: MagiskRepository
|
||||||
) : MagiskViewModel() {
|
) : MagiskViewModel(State.LOADED) {
|
||||||
|
|
||||||
val hasGMS = runCatching {
|
val hasGMS = runCatching {
|
||||||
get<PackageManager>().getPackageInfo("com.google.android.gms", 0); true
|
get<PackageManager>().getPackageInfo("com.google.android.gms", 0); true
|
||||||
@ -177,14 +177,7 @@ class HomeViewModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun refresh() {
|
fun refresh() {
|
||||||
magiskCurrentVersion.value = if (magiskState.value != MagiskState.NOT_INSTALLED) {
|
refreshVersions()
|
||||||
version.format(Info.magiskVersionString, Info.magiskVersionCode)
|
|
||||||
} else {
|
|
||||||
""
|
|
||||||
}
|
|
||||||
|
|
||||||
managerCurrentVersion.value = version
|
|
||||||
.format(BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE)
|
|
||||||
|
|
||||||
magiskRepo.fetchUpdate()
|
magiskRepo.fetchUpdate()
|
||||||
.applyViewModel(this)
|
.applyViewModel(this)
|
||||||
@ -198,13 +191,24 @@ class HomeViewModel(
|
|||||||
.subscribeK {
|
.subscribeK {
|
||||||
updateSelf()
|
updateSelf()
|
||||||
ensureEnv()
|
ensureEnv()
|
||||||
|
refreshVersions()
|
||||||
}
|
}
|
||||||
|
|
||||||
hasRoot.value = Shell.rootAccess()
|
hasRoot.value = Shell.rootAccess()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun refreshVersions() {
|
||||||
|
magiskCurrentVersion.value = if (magiskState.value != MagiskState.NOT_INSTALLED) {
|
||||||
|
version.format(Info.magiskVersionString, Info.magiskVersionCode)
|
||||||
|
} else {
|
||||||
|
""
|
||||||
|
}
|
||||||
|
|
||||||
|
managerCurrentVersion.value = version
|
||||||
|
.format(BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE)
|
||||||
|
}
|
||||||
|
|
||||||
private fun updateSelf() {
|
private fun updateSelf() {
|
||||||
state = State.LOADED
|
|
||||||
_magiskState.value = when (Info.magiskVersionCode) {
|
_magiskState.value = when (Info.magiskVersionCode) {
|
||||||
in Int.MIN_VALUE until 0 -> MagiskState.NOT_INSTALLED
|
in Int.MIN_VALUE until 0 -> MagiskState.NOT_INSTALLED
|
||||||
!in Info.remote.magisk.versionCode..Int.MAX_VALUE -> MagiskState.OBSOLETE
|
!in Info.remote.magisk.versionCode..Int.MAX_VALUE -> MagiskState.OBSOLETE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user