diff --git a/app/src/main/java/com/topjohnwu/magisk/core/Info.kt b/app/src/main/java/com/topjohnwu/magisk/core/Info.kt index c4a9c7061..7b28983e7 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/Info.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/Info.kt @@ -21,6 +21,7 @@ object Info { @JvmStatic val env by envRef // Local var remote = UpdateInfo() // Remote + @JvmStatic var stub: DynAPK.Data? = null // Stub @JvmStatic diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt index 1fd23463a..e06e63274 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt @@ -41,6 +41,11 @@ class HomeViewModel( val stateMagisk = KObservableField(MagiskState.LOADING) val stateManager = KObservableField(MagiskState.LOADING) + val stateVersionMagisk = KObservableField("") + val stateCodeMagisk = KObservableField(0) + val stateVersionManager = KObservableField("") + val stateCodeManager = KObservableField(0) + val stateCodeStub = KObservableField(0) val stateTextMagisk = Observer(stateMagisk) { when (stateMagisk.value) { MagiskState.NOT_INSTALLED -> R.string.installed_error.res() @@ -59,8 +64,6 @@ class HomeViewModel( } val statePackageManager = packageName val statePackageOriginal = statePackageManager == BuildConfig.APPLICATION_ID - val stateVersionUpdateMagisk = KObservableField("") - val stateVersionUpdateManager = KObservableField("") val stateMagiskProgress = KObservableField(0) val stateManagerProgress = KObservableField(0) @@ -110,21 +113,12 @@ class HomeViewModel( else -> MagiskState.UP_TO_DATE } - stateVersionUpdateMagisk.value = when { - info.magisk.isObsolete -> "%s > %s".format( - Info.env.magiskVersionString.clipVersion(info.magisk.version), - info.magisk.version.clipVersion(Info.env.magiskVersionString) - ) - else -> "" - } + stateVersionMagisk.value = info.magisk.version + stateVersionManager.value = info.app.version - stateVersionUpdateManager.value = when { - info.app.isObsolete -> "%s > %s".format( - BuildConfig.VERSION_NAME.clipVersion(info.app.version), - info.app.version.clipVersion(BuildConfig.VERSION_NAME) - ) - else -> "" - } + stateCodeMagisk.value = info.magisk.versionCode + stateCodeManager.value = info.app.versionCode + stateCodeStub.value = info.stub.versionCode ensureEnv() } diff --git a/app/src/main/res/layout/fragment_home_md2.xml b/app/src/main/res/layout/fragment_home_md2.xml index ae16d4c06..7baf550ab 100644 --- a/app/src/main/res/layout/fragment_home_md2.xml +++ b/app/src/main/res/layout/fragment_home_md2.xml @@ -5,22 +5,6 @@ - - - - - - - - - - - - - - - - @@ -83,641 +67,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintTop_toTopOf="parent" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/include_home_magisk.xml b/app/src/main/res/layout/include_home_magisk.xml new file mode 100644 index 000000000..665136729 --- /dev/null +++ b/app/src/main/res/layout/include_home_magisk.xml @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/include_home_manager.xml b/app/src/main/res/layout/include_home_manager.xml new file mode 100644 index 000000000..e06839c3d --- /dev/null +++ b/app/src/main/res/layout/include_home_manager.xml @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_developer_link.xml b/app/src/main/res/layout/item_developer_link.xml index 41c6cee0a..09c66dba1 100644 --- a/app/src/main/res/layout/item_developer_link.xml +++ b/app/src/main/res/layout/item_developer_link.xml @@ -15,10 +15,11 @@ - @@ -26,25 +27,11 @@ - - - + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e0e2cbd0f..c00bbcb01 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -28,6 +28,12 @@ Source Magisk is, and always will be, free and open-source. You can however show us that you care by sending a small donation. + Your device + Info + Manufacturer + Model + Board + Security System A/B @@ -45,6 +51,10 @@ Normal Safe Dynamic + Stub + N/A + + Details Invalid Update Channel SafetyNet API Error diff --git a/app/src/main/res/values/styles_view_md2.xml b/app/src/main/res/values/styles_view_md2.xml index 040e369e6..585552bd2 100644 --- a/app/src/main/res/values/styles_view_md2.xml +++ b/app/src/main/res/values/styles_view_md2.xml @@ -7,8 +7,10 @@ + + + + + + + + + + + + + + + + + + +