mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-25 07:27:39 +00:00
parent
5b937fb1fa
commit
86481c74ff
@ -41,6 +41,7 @@ class HomeViewModel(
|
|||||||
|
|
||||||
val isForceEncryption = KObservableField(Info.keepEnc)
|
val isForceEncryption = KObservableField(Info.keepEnc)
|
||||||
val isKeepVerity = KObservableField(Info.keepVerity)
|
val isKeepVerity = KObservableField(Info.keepVerity)
|
||||||
|
val isRecovery = KObservableField(Info.recovery)
|
||||||
|
|
||||||
private val _magiskState = KObservableField(MagiskState.LOADING)
|
private val _magiskState = KObservableField(MagiskState.LOADING)
|
||||||
val magiskState = Observer(_magiskState, isConnected) {
|
val magiskState = Observer(_magiskState, isConnected) {
|
||||||
@ -112,6 +113,9 @@ class HomeViewModel(
|
|||||||
isKeepVerity.addOnPropertyChangedCallback {
|
isKeepVerity.addOnPropertyChangedCallback {
|
||||||
Info.keepVerity = it ?: return@addOnPropertyChangedCallback
|
Info.keepVerity = it ?: return@addOnPropertyChangedCallback
|
||||||
}
|
}
|
||||||
|
isRecovery.addOnPropertyChangedCallback {
|
||||||
|
Info.recovery = it ?: return@addOnPropertyChangedCallback
|
||||||
|
}
|
||||||
isConnected.addOnPropertyChangedCallback {
|
isConnected.addOnPropertyChangedCallback {
|
||||||
if (it == true) refresh()
|
if (it == true) refresh()
|
||||||
}
|
}
|
||||||
|
@ -185,6 +185,18 @@
|
|||||||
app:layout_constraintWidth_default="wrap"
|
app:layout_constraintWidth_default="wrap"
|
||||||
app:layout_constraintWidth_min="300dp" />
|
app:layout_constraintWidth_min="300dp" />
|
||||||
|
|
||||||
|
<CheckBox
|
||||||
|
android:id="@+id/recovery_mode"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:checked="@={viewModel.isRecovery}"
|
||||||
|
android:text="@string/recovery_mode"
|
||||||
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/keep_verity"
|
||||||
|
app:layout_constraintWidth_default="wrap"
|
||||||
|
app:layout_constraintWidth_min="300dp" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
<string name="advanced_settings_title">Advanced Settings</string>
|
<string name="advanced_settings_title">Advanced Settings</string>
|
||||||
<string name="keep_force_encryption">Preserve force encryption</string>
|
<string name="keep_force_encryption">Preserve force encryption</string>
|
||||||
<string name="keep_dm_verity">Preserve AVB 2.0/dm-verity</string>
|
<string name="keep_dm_verity">Preserve AVB 2.0/dm-verity</string>
|
||||||
|
<string name="recovery_mode">Recovery Mode</string>
|
||||||
<string name="current_installed">Installed: %1$s</string>
|
<string name="current_installed">Installed: %1$s</string>
|
||||||
<string name="latest_version">Latest: %1$s</string>
|
<string name="latest_version">Latest: %1$s</string>
|
||||||
<string name="uninstall">Uninstall</string>
|
<string name="uninstall">Uninstall</string>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
# Usage: boot_patch.sh <bootimage>
|
# Usage: boot_patch.sh <bootimage>
|
||||||
#
|
#
|
||||||
# The following flags can be set in environment variables:
|
# The following flags can be set in environment variables:
|
||||||
# KEEPVERITY, KEEPFORCEENCRYPT
|
# KEEPVERITY, KEEPFORCEENCRYPT, RECOVERYMODE
|
||||||
#
|
#
|
||||||
# This script should be placed in a directory with the following files:
|
# This script should be placed in a directory with the following files:
|
||||||
#
|
#
|
||||||
@ -84,6 +84,8 @@ case $? in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
[ -f recovery_dtbo ] && RECOVERYMODE=true
|
||||||
|
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# Ramdisk restores
|
# Ramdisk restores
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
@ -101,7 +103,7 @@ case $((STATUS & 3)) in
|
|||||||
0 ) # Stock boot
|
0 ) # Stock boot
|
||||||
ui_print "- Stock boot image detected"
|
ui_print "- Stock boot image detected"
|
||||||
ui_print "- Backing up stock boot image"
|
ui_print "- Backing up stock boot image"
|
||||||
SHA1=`./magiskboot --sha1 "$BOOTIMAGE" 2>/dev/null`
|
SHA1=`./magiskboot sha1 "$BOOTIMAGE" 2>/dev/null`
|
||||||
STOCKDUMP=stock_boot_${SHA1}.img.gz
|
STOCKDUMP=stock_boot_${SHA1}.img.gz
|
||||||
./magiskboot compress "$BOOTIMAGE" $STOCKDUMP
|
./magiskboot compress "$BOOTIMAGE" $STOCKDUMP
|
||||||
cp -af ramdisk.cpio ramdisk.cpio.orig 2>/dev/null
|
cp -af ramdisk.cpio ramdisk.cpio.orig 2>/dev/null
|
||||||
@ -133,8 +135,8 @@ ui_print "- Patching ramdisk"
|
|||||||
|
|
||||||
echo "KEEPVERITY=$KEEPVERITY" > config
|
echo "KEEPVERITY=$KEEPVERITY" > config
|
||||||
echo "KEEPFORCEENCRYPT=$KEEPFORCEENCRYPT" >> config
|
echo "KEEPFORCEENCRYPT=$KEEPFORCEENCRYPT" >> config
|
||||||
|
echo "RECOVERYMODE=$RECOVERYMODE" >> config
|
||||||
[ ! -z $SHA1 ] && echo "SHA1=$SHA1" >> config
|
[ ! -z $SHA1 ] && echo "SHA1=$SHA1" >> config
|
||||||
[ -f recovery_dtbo ] && echo "RECOVERYMODE=true" >> config
|
|
||||||
|
|
||||||
./magiskboot cpio ramdisk.cpio \
|
./magiskboot cpio ramdisk.cpio \
|
||||||
"add 750 init magiskinit" \
|
"add 750 init magiskinit" \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user