You've already forked Magisk
mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-09-06 06:36:58 +00:00
Added direct fetch from network and fixed build issues
This commit is contained in:
@@ -14,7 +14,10 @@ import timber.log.Timber
|
||||
|
||||
abstract class MagiskViewModel : LoadingViewModel(), Event.AutoListener {
|
||||
|
||||
@Deprecated("")
|
||||
override fun onEvent(event: Int) = Timber.i("Event of $event was not handled")
|
||||
|
||||
@Deprecated("")
|
||||
override fun getListeningEvents(): IntArray = intArrayOf()
|
||||
|
||||
fun withView(action: Activity.() -> Unit) {
|
||||
|
||||
@@ -2,22 +2,24 @@ package com.topjohnwu.magisk.ui.home
|
||||
|
||||
import android.content.res.Resources
|
||||
import com.skoumal.teanity.extensions.addOnPropertyChangedCallback
|
||||
import com.skoumal.teanity.extensions.doOnSubscribeUi
|
||||
import com.skoumal.teanity.extensions.subscribeK
|
||||
import com.skoumal.teanity.util.KObservableField
|
||||
import com.topjohnwu.magisk.*
|
||||
import com.topjohnwu.magisk.data.repository.MagiskRepository
|
||||
import com.topjohnwu.magisk.model.events.*
|
||||
import com.topjohnwu.magisk.model.observer.Observer
|
||||
import com.topjohnwu.magisk.tasks.CheckUpdates
|
||||
import com.topjohnwu.magisk.ui.base.MagiskViewModel
|
||||
import com.topjohnwu.magisk.utils.Event
|
||||
import com.topjohnwu.magisk.utils.ISafetyNetHelper
|
||||
import com.topjohnwu.magisk.utils.toggle
|
||||
import com.topjohnwu.net.Networking
|
||||
import com.topjohnwu.superuser.Shell
|
||||
|
||||
|
||||
class HomeViewModel(
|
||||
private val resources: Resources,
|
||||
private val app: App
|
||||
private val app: App,
|
||||
private val magiskRepo: MagiskRepository
|
||||
) : MagiskViewModel() {
|
||||
|
||||
val isAdvancedExpanded = KObservableField(false)
|
||||
@@ -163,20 +165,26 @@ class HomeViewModel(
|
||||
}
|
||||
|
||||
fun refresh() {
|
||||
state = State.LOADING
|
||||
magiskState.value = MagiskState.LOADING
|
||||
managerState.value = MagiskState.LOADING
|
||||
Event.reset(this)
|
||||
Config.remoteMagiskVersionString = null
|
||||
Config.remoteMagiskVersionCode = -1
|
||||
magiskRepo.fetchConfig()
|
||||
.applyViewModel(this)
|
||||
.doOnSubscribeUi {
|
||||
magiskState.value = MagiskState.LOADING
|
||||
managerState.value = MagiskState.LOADING
|
||||
}
|
||||
.subscribeK {
|
||||
it.app.let {
|
||||
Config.remoteManagerVersionCode = it.versionCode.toIntOrNull() ?: -1
|
||||
Config.remoteManagerVersionString = it.version
|
||||
}
|
||||
it.magisk.let {
|
||||
Config.remoteMagiskVersionCode = it.versionCode.toIntOrNull() ?: -1
|
||||
Config.remoteMagiskVersionString = it.version
|
||||
}
|
||||
updateSelf()
|
||||
ensureEnv()
|
||||
}
|
||||
|
||||
hasRoot.value = Shell.rootAccess()
|
||||
|
||||
if (Networking.checkNetworkStatus(app)) {
|
||||
CheckUpdates.check()
|
||||
} else {
|
||||
state = State.LOADING_FAILED
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateSelf() {
|
||||
|
||||
@@ -11,7 +11,7 @@ import com.skoumal.teanity.util.KObservableField
|
||||
import com.topjohnwu.magisk.BR
|
||||
import com.topjohnwu.magisk.R
|
||||
import com.topjohnwu.magisk.data.database.RepoDatabaseHelper
|
||||
import com.topjohnwu.magisk.model.entity.Module
|
||||
import com.topjohnwu.magisk.model.entity.OldModule
|
||||
import com.topjohnwu.magisk.model.entity.Repo
|
||||
import com.topjohnwu.magisk.model.entity.recycler.ModuleRvItem
|
||||
import com.topjohnwu.magisk.model.entity.recycler.RepoRvItem
|
||||
@@ -76,7 +76,7 @@ class ModuleViewModel(
|
||||
UpdateRepos().exec(true)
|
||||
}
|
||||
|
||||
private fun updateModules(result: Map<String, Module>) = result.values
|
||||
private fun updateModules(result: Map<String, OldModule>) = result.values
|
||||
.map { ModuleRvItem(it) }
|
||||
.let { itemsInstalled.update(it) }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user