Skip to content

Commit

Permalink
changed to MMTEx template
Browse files Browse the repository at this point in the history
  • Loading branch information
misakstvanu committed Jul 31, 2020
1 parent 3eadeba commit ab89263
Show file tree
Hide file tree
Showing 13 changed files with 837 additions and 221 deletions.
339 changes: 339 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

177 changes: 170 additions & 7 deletions META-INF/com/google/android/update-binary
Original file line number Diff line number Diff line change
@@ -1,10 +1,173 @@
#!/sbin/sh
# This is a dummy file that should be replaced with a proper installer script

# If you are creating a module locally for personal usage or testing,
# download the script in the following URL:
# https://github.com/topjohnwu/Magisk/blob/master/scripts/module_installer.sh
# And replace this script with the downloaded script
#################
# Initialization
#################

# Error, this script should always be replaced
exit 1
umask 022

# Global vars
TMPDIR=/dev/tmp
PERSISTDIR=/sbin/.magisk/mirror/persist

rm -rf $TMPDIR 2>/dev/null
mkdir -p $TMPDIR

# echo before loading util_functions
ui_print() { echo "$1"; }

require_new_magisk() {
ui_print "*******************************"
ui_print " Please install Magisk v19.0+! "
ui_print "*******************************"
exit 1
}

is_legacy_script() {
unzip -l "$ZIPFILE" install.sh | grep -q install.sh
return $?
}

print_modname() {
local len
len=`echo -n $MODNAME | wc -c`
len=$((len + 2))
local pounds=`printf "%${len}s" | tr ' ' '*'`
ui_print "$pounds"
ui_print " $MODNAME "
ui_print "$pounds"
ui_print "*******************"
ui_print " Powered by Magisk "
ui_print "*******************"
}

##############
# Environment
##############

OUTFD=$2
ZIPFILE=$3

mount /data 2>/dev/null

# Load utility functions
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
. /data/adb/magisk/util_functions.sh
[ $MAGISK_VER_CODE -gt 18100 ] || require_new_magisk

# Preperation for flashable zips
setup_flashable

# Mount partitions
mount_partitions

# Detect version and architecture
api_level_arch_detect

# Setup busybox and binaries
$BOOTMODE && boot_actions || recovery_actions

##############
# Preparation
##############

# Extract prop file
unzip -o "$ZIPFILE" module.prop -d $TMPDIR >&2
[ ! -f $TMPDIR/module.prop ] && abort "! Unable to extract zip file!"

$BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules
MODULEROOT=$NVBASE/$MODDIRNAME
MODID=`grep_prop id $TMPDIR/module.prop`
MODPATH=$MODULEROOT/$MODID
MODNAME=`grep_prop name $TMPDIR/module.prop`

# Create mod paths
rm -rf $MODPATH 2>/dev/null
mkdir -p $MODPATH

##########
# Install
##########

if is_legacy_script; then
unzip -oj "$ZIPFILE" module.prop install.sh uninstall.sh 'common/*' -d $TMPDIR >&2

# Load install script
. $TMPDIR/install.sh

# Callbacks
print_modname
on_install

# Custom uninstaller
[ -f $TMPDIR/uninstall.sh ] && cp -af $TMPDIR/uninstall.sh $MODPATH/uninstall.sh

# Skip mount
$SKIPMOUNT && touch $MODPATH/skip_mount

# prop file
$PROPFILE && cp -af $TMPDIR/system.prop $MODPATH/system.prop

# Module info
cp -af $TMPDIR/module.prop $MODPATH/module.prop

# post-fs-data scripts
$POSTFSDATA && cp -af $TMPDIR/post-fs-data.sh $MODPATH/post-fs-data.sh

# service scripts
$LATESTARTSERVICE && cp -af $TMPDIR/service.sh $MODPATH/service.sh

ui_print "- Setting permissions"
set_permissions
else
print_modname

unzip -o "$ZIPFILE" customize.sh -d $MODPATH >&2

if ! grep -q '^SKIPUNZIP=1$' $MODPATH/customize.sh 2>/dev/null; then
ui_print "- Extracting module files"
unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2

# Default permissions
set_perm_recursive $MODPATH 0 0 0755 0644
fi

# Load customization script
[ -f $MODPATH/customize.sh ] && . $MODPATH/customize.sh
fi

# Handle replace folders
for TARGET in $REPLACE; do
ui_print "- Replace target: $TARGET"
mktouch $MODPATH$TARGET/.replace
done

if $BOOTMODE; then
# Update info for Magisk Manager
mktouch $NVBASE/modules/$MODID/update
cp -af $MODPATH/module.prop $NVBASE/modules/$MODID/module.prop
fi

# Copy over custom sepolicy rules
if [ -f $MODPATH/sepolicy.rule -a -e $PERSISTDIR ]; then
ui_print "- Installing custom sepolicy patch"
PERSISTMOD=$PERSISTDIR/magisk/$MODID
mkdir -p $PERSISTMOD
cp -af $MODPATH/sepolicy.rule $PERSISTMOD/sepolicy.rule
fi

# Remove stuffs that don't belong to modules
rm -rf \
$MODPATH/system/placeholder $MODPATH/customize.sh \
$MODPATH/README.md $MODPATH/.git* 2>/dev/null

##############
# Finalizing
##############

cd /
$BOOTMODE || recovery_cleanup
rm -rf $TMPDIR

ui_print "- Done"
exit 0
33 changes: 0 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +0,0 @@
# **NFC for PRA-LX1 on GSI** <img src="https://img.shields.io/badge/XDA-Thread-yellow.svg?longCache=true&style=flat-square"> <img src="https://img.shields.io/badge/Status-Stable-green.svg?longCache=true&style=flat-square">

## Description
All you need to get NFC on GSI ROM's for Kirin 655 devices.
It may work on other devices too.
It's tested on Huawei P8 Lite 2017 (Kirin 655) while running phhusson's Treble AOSP.

## Changelog
- v3.2
- Updated Magisk module structure
- v3.1
- Updated libs
- v3.0
- Removed unnecessary libs
- v2.0
- Bump to Pie (9.0)
- v1.0
- Initial release

## Troubleshooting
- If stuck at boot, simply reboot once and see if boot resumes
- If boot fails again, please provide device and Magisk logs

## Credits
- [topjohnwu](https://forum.xda-developers.com/member.php?u=4470081) for Magisk and its module template
- [Darkest-Dark](https://forum.xda-developers.com/member.php?u=9044321) for his Magisk Module that inspired this work
- [Dil3mm4](https://forum.xda-developers.com/member.php?u=9034316) for his version of LineageOS where the initial v1.0 files belonged to
- [haky86](https://forum.xda-developers.com/member.php?u=4883214) for his version of ArrowOS where the current v3.1 files belong to
- [kountry83](https://forum.xda-developers.com/member.php?u=3756725) for his Pie NFC fix and where the v2.0 and v3.0 files belong to

## Links
- [XDA Forum Thread](https://forum.xda-developers.com/p8lite/p8-lite-2017-development/flashable-nfc-kirin655-devices-t3811916)
- [Magisk](https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445)
Empty file added common/addon/placeholder
Empty file.
Loading

0 comments on commit ab89263

Please sign in to comment.