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 376cf387e..57e6c7566 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/Info.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/Info.kt @@ -28,21 +28,23 @@ object Info { // Device state @JvmStatic val env by lazy { loadState() } - @JvmStatic var isSAR = false + @JvmField var isSAR = false var isAB = false val isVirtualAB = getProperty("ro.virtual_ab.enabled", "false") == "true" @JvmField val isZygiskEnabled = System.getenv("ZYGISK_ENABLED") == "1" @JvmStatic val isFDE get() = crypto == "block" @JvmField var ramdisk = false @JvmField var vbmeta = false - @JvmField var hasGMS = true - @JvmField val isPixel = Build.BRAND == "google" - @JvmField val isEmulator = - getProperty("ro.kernel.qemu", "0") == "1" || - getProperty("ro.boot.qemu", "0") == "1" var crypto = "" var noDataExec = false + @JvmField var hasGMS = true + @JvmField val isPixel = Build.BRAND == "google" + val isSamsung = Build.MANUFACTURER.equals("samsung", ignoreCase = true) + @JvmField val isEmulator = + getProperty("ro.kernel.qemu", "0") == "1" || + getProperty("ro.boot.qemu", "0") == "1" + val isConnected by lazy { ObservableBoolean(false).also { field -> NetworkObserver.observe(AppContext) { diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt index 3db8ca7f0..052fce210 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt @@ -1,7 +1,6 @@ package com.topjohnwu.magisk.ui.install import android.net.Uri -import android.os.Build import androidx.databinding.Bindable import androidx.lifecycle.viewModelScope import com.topjohnwu.magisk.BR @@ -27,11 +26,12 @@ class InstallViewModel( ) : BaseViewModel() { val isRooted = Shell.rootAccess() - val skipOptions = Info.ramdisk && !Info.isFDE && Info.isSAR && !(!Info.vbmeta && Build.VERSION.SDK_INT >= 30) + val hideVbmeta = Info.vbmeta || Info.isSamsung || Info.isAB + val skipOptions = Info.isEmulator || (Info.isSAR && !Info.isFDE && hideVbmeta && Info.ramdisk) val noSecondSlot = !isRooted || Info.isPixel || Info.isVirtualAB || !Info.isAB || Info.isEmulator @get:Bindable - var step = if (Info.isEmulator || skipOptions) 1 else 0 + var step = if (skipOptions) 1 else 0 set(value) = set(value, field, { field = it }, BR.step) var _method = -1 diff --git a/app/src/main/res/layout/fragment_install_md2.xml b/app/src/main/res/layout/fragment_install_md2.xml index fefd90d83..b814c1920 100644 --- a/app/src/main/res/layout/fragment_install_md2.xml +++ b/app/src/main/res/layout/fragment_install_md2.xml @@ -9,8 +9,6 @@ - - @@ -36,7 +34,7 @@