mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-25 01:27:38 +00:00
Optimize network status display
This commit is contained in:
parent
0333e82e86
commit
70174e093b
@ -3,6 +3,7 @@ package com.topjohnwu.magisk.data.repository
|
||||
import com.topjohnwu.magisk.core.Config
|
||||
import com.topjohnwu.magisk.core.Info
|
||||
import com.topjohnwu.magisk.data.network.GithubRawServices
|
||||
import retrofit2.HttpException
|
||||
import timber.log.Timber
|
||||
import java.io.IOException
|
||||
|
||||
@ -28,6 +29,9 @@ class MagiskRepository(
|
||||
} catch (e: IOException) {
|
||||
Timber.e(e)
|
||||
null
|
||||
} catch (e: HttpException) {
|
||||
Timber.e(e)
|
||||
null
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -70,6 +70,9 @@ class HomeViewModel(
|
||||
val showUninstall get() =
|
||||
Info.env.magiskVersionCode > 0 && stateMagisk != MagiskState.LOADING && isConnected.get()
|
||||
|
||||
@get:Bindable
|
||||
val showSafetyNet get() = Info.hasGMS && isConnected.get()
|
||||
|
||||
val itemBinding = itemBindingOf<IconLink> {
|
||||
it.bindExtra(BR.viewModel, this)
|
||||
}
|
||||
@ -77,8 +80,11 @@ class HomeViewModel(
|
||||
private var shownDialog = false
|
||||
|
||||
override fun refresh() = viewModelScope.launch {
|
||||
state = State.LOADING
|
||||
notifyPropertyChanged(BR.showUninstall)
|
||||
notifyPropertyChanged(BR.showSafetyNet)
|
||||
repoMagisk.fetchUpdate()?.apply {
|
||||
state = State.LOADED
|
||||
stateMagisk = when {
|
||||
!Info.env.isActive -> MagiskState.NOT_INSTALLED
|
||||
magisk.isObsolete -> MagiskState.OBSOLETE
|
||||
@ -99,7 +105,7 @@ class HomeViewModel(
|
||||
launch {
|
||||
ensureEnv()
|
||||
}
|
||||
}
|
||||
} ?: apply { state = State.LOADING_FAILED }
|
||||
}
|
||||
|
||||
val showTest = false
|
||||
|
@ -32,7 +32,7 @@ open class LollipopNetworkObserver(
|
||||
}
|
||||
|
||||
override fun onLost(network: Network) {
|
||||
emit(Connectivity.create(manager, network))
|
||||
emit(Connectivity())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -108,7 +108,7 @@
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/l1"
|
||||
gone="@{!Info.hasGMS && !viewModel.showUninstall}" />
|
||||
gone="@{!viewModel.showSafetyNet && !viewModel.showUninstall}" />
|
||||
|
||||
<Button
|
||||
style="@style/WidgetFoundation.Button.Outlined"
|
||||
@ -120,7 +120,7 @@
|
||||
android:textAllCaps="false"
|
||||
android:textSize="12sp"
|
||||
android:onClick="@{() -> viewModel.onSafetyNetPressed()}"
|
||||
gone="@{!Info.hasGMS}"
|
||||
gone="@{!viewModel.showSafetyNet}"
|
||||
app:cornerRadius="@dimen/r1"
|
||||
app:icon="@drawable/ic_safetynet_md2" />
|
||||
|
||||
|
@ -118,7 +118,7 @@
|
||||
|
||||
<TextView
|
||||
style="@style/W.Home.ItemContent.Right"
|
||||
android:text="@{viewModel.isConnected ? viewModel.magiskRemoteVersion : @string/not_available}"
|
||||
android:text="@{viewModel.loadFailed ? @string/not_available : viewModel.magiskRemoteVersion }"
|
||||
tools:text="20.1 (12345)" />
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -121,7 +121,7 @@
|
||||
|
||||
<TextView
|
||||
style="@style/W.Home.ItemContent.Right"
|
||||
android:text="@{viewModel.isConnected ? viewModel.managerRemoteVersion : @string/not_available}"
|
||||
android:text="@{viewModel.loadFailed ? @string/not_available : viewModel.managerRemoteVersion}"
|
||||
tools:text="8.0.0 (123) (10)" />
|
||||
|
||||
</LinearLayout>
|
||||
|
Loading…
x
Reference in New Issue
Block a user