mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-11-24 04:29:45 +00:00
Wait for root service to bind
This commit is contained in:
parent
37b81ad1f6
commit
78a444d601
@ -111,15 +111,23 @@ class RootUtils(stub: Any?) : RootService() {
|
||||
}
|
||||
|
||||
fun await() {
|
||||
// We cannot await on the main thread
|
||||
if (Info.isRooted && !ShellUtils.onMainThread())
|
||||
if (!Info.isRooted)
|
||||
return
|
||||
if (!ShellUtils.onMainThread()) {
|
||||
acquireSharedInterruptibly(1)
|
||||
} else if (state != 0) {
|
||||
throw IllegalStateException("Cannot await on the main thread")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
var bindTask: Shell.Task? = null
|
||||
var fs = FileSystemManager.getLocal()
|
||||
var fs: FileSystemManager = FileSystemManager.getLocal()
|
||||
get() {
|
||||
Connection.await()
|
||||
return field
|
||||
}
|
||||
private set
|
||||
var obj: IRootUtils? = null
|
||||
get() {
|
||||
|
@ -35,7 +35,7 @@ class ModuleViewModel : AsyncLoadViewModel() {
|
||||
var loading = true
|
||||
private set(value) = set(value, field, { field = it }, BR.loading)
|
||||
|
||||
init {
|
||||
private suspend fun init() = withContext(Dispatchers.IO) {
|
||||
if (Info.env.isActive && LocalModule.loaded()) {
|
||||
items.insertItem(InstallModule)
|
||||
.insertList(itemsInstalled)
|
||||
@ -44,6 +44,9 @@ class ModuleViewModel : AsyncLoadViewModel() {
|
||||
|
||||
override suspend fun doLoadWork() {
|
||||
loading = true
|
||||
if (items.isEmpty()) {
|
||||
init()
|
||||
}
|
||||
loadInstalled()
|
||||
loading = false
|
||||
loadUpdateInfo()
|
||||
|
Loading…
Reference in New Issue
Block a user