-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BasileusRex is Lukest85 (???) Co-authored-by: BasileusRex <[email protected]>
- Loading branch information
0 parents
commit 7f1bfb8
Showing
7 changed files
with
1,708 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
#!/sbin/sh | ||
|
||
################# | ||
# Initialization | ||
################# | ||
|
||
umask 022 | ||
|
||
# echo before loading util_functions | ||
ui_print() { echo "$1"; } | ||
|
||
require_new_magisk() { | ||
ui_print "*******************************" | ||
ui_print " Please install Magisk v20.0+! " | ||
ui_print "*******************************" | ||
exit 1 | ||
} | ||
|
||
######################### | ||
# Load util_functions.sh | ||
######################### | ||
|
||
OUTFD=$2 | ||
ZIPFILE=$3 | ||
|
||
mount /data 2>/dev/null | ||
|
||
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk | ||
. /data/adb/magisk/util_functions.sh | ||
[ $MAGISK_VER_CODE -lt 20000 ] && require_new_magisk | ||
|
||
if [ $MAGISK_VER_CODE -ge 20400 ]; then | ||
# New Magisk have complete installation logic within util_functions.sh | ||
install_module | ||
exit 0 | ||
fi | ||
|
||
################# | ||
# Legacy Support | ||
################# | ||
|
||
TMPDIR=/dev/tmp | ||
PERSISTDIR=/sbin/.magisk/mirror/persist | ||
|
||
is_legacy_script() { | ||
unzip -l "$ZIPFILE" install.sh | grep -q install.sh | ||
return $? | ||
} | ||
|
||
print_modname() { | ||
local authlen len namelen pounds | ||
namelen=`echo -n $MODNAME | wc -c` | ||
authlen=$((`echo -n $MODAUTH | wc -c` + 3)) | ||
[ $namelen -gt $authlen ] && len=$namelen || len=$authlen | ||
len=$((len + 2)) | ||
pounds=$(printf "%${len}s" | tr ' ' '*') | ||
ui_print "$pounds" | ||
ui_print " $MODNAME " | ||
ui_print " by $MODAUTH " | ||
ui_print "$pounds" | ||
ui_print "*******************" | ||
ui_print " Powered by Magisk " | ||
ui_print "*******************" | ||
} | ||
|
||
# Override abort as old scripts have some issues | ||
abort() { | ||
ui_print "$1" | ||
$BOOTMODE || recovery_cleanup | ||
[ -n $MODPATH ] && rm -rf $MODPATH | ||
rm -rf $TMPDIR | ||
exit 1 | ||
} | ||
|
||
rm -rf $TMPDIR 2>/dev/null | ||
mkdir -p $TMPDIR | ||
|
||
# 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` | ||
MODNAME=`grep_prop name $TMPDIR/module.prop` | ||
MODAUTH=`grep_prop author $TMPDIR/module.prop` | ||
MODPATH=$MODULEROOT/$MODID | ||
|
||
# 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 | ||
sleep 1 | ||
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" | ||
# Remove old recovery logs (which may be filling partition) to make room | ||
rm -f $PERSISTDIR/cache/recovery/* | ||
PERSISTMOD=$PERSISTDIR/magisk/$MODID | ||
mkdir -p $PERSISTMOD | ||
cp -af $MODPATH/sepolicy.rule $PERSISTMOD/sepolicy.rule || abort "! Insufficient partition size" | ||
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 | ||
sleep 1 | ||
ui_print "- Done" | ||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
#MAGISK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Merlin Dual Speaker MOD | ||
|
||
# What does this module do? | ||
This is a simple mod that turns the earpiece speaker to a standard speaker , giving us stereo experience. | ||
mixer_paths.xml config : +10dB to the left speaker volume and ±0dB in-call and -4dB to right/main speaker volume | ||
|
||
# What Roms is it compatible with? | ||
|
||
Every Q and P based ROM. Tested only on Q ROMS using official LOS trees. | ||
|
||
# Contributors | ||
|
||
[Lukest85](http://forum.xda-developers.com/2015-moto-g/development/stereo-speakers-audio-adjustments-t3365680) - Creator and Author of the mod. | ||
|
||
[Charlie](https://github.com/Charlie-117) - Convert TWRP zip into Magisk module.The mod is authored and created by Lukest85 (on XDA ) | ||
|
||
# Warning | ||
|
||
By using this mod you take full responsibility for, but not limited to, any damage that may occur to your device, data, ears, or musical taste, etc | ||
You agree not to hold the author liable in anyway. Do not blame me if; your sound stops, jaw drops, thermonuclear war starts or zombie apocalypse now. | ||
Do not use speakers at full volume , read the instructions at xda carefully. | ||
|
||
# Download and Info | ||
|
||
[SourceForge Link](https://sourceforge.net/projects/charlie-android/files/Mods/Merlin-DualSpeaker-mod.zip/download) | ||
|
||
[XDA support thread](http://forum.xda-developers.com/2015-moto-g/development/stereo-speakers-audio-adjustments-t3365680) | ||
|
||
If you liked this mod then please drop a thanks to the original author of the mod at XDA | ||
|
||
# Changelog | ||
|
||
### V 1.0 | ||
|
||
Initial Release | ||
-Uses the Medium profile of MixerMod | ||
|
||
# Credits | ||
|
||
hp420 for testing & sharing MotoG3 system-wide volume boost | ||
chdloc for IIR biQuads discovery, app & info | ||
topjohnwu for Magisk | ||
Alberto97 and CyanogenMod for updated system/device files + zip binary file | ||
lost101 and Motorola for stock system/device files | ||
Lukest85 for sharing, coding & compiling this mod + discovering & activating stereo speaker output for this device | ||
YOU for using this mod |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#!/system/bin/sh | ||
|
||
# | ||
# DualSpeaker MOD | ||
# | ||
|
||
# Patch mixer_paths.xml and placed the modified one to the original directory | ||
sleep 1 | ||
print_modname() | ||
ui_print " " | ||
ui_print " *******************************************" | ||
ui_print " * Dual Speaker Mod for merlin *" | ||
ui_print " *******************************************" | ||
ui_print " * by Lukest85 , Charlie *" | ||
ui_print " *******************************************" | ||
ui_print " * ! Use with CAUTION ! *" | ||
ui_print " *******************************************" | ||
ui_print " " | ||
if [ -f /system/vendor/etc/mixer_paths.xml ]; then | ||
mkdir -p `dirname $MODPATH/system/vendor/etc/mixer_paths.xml` | ||
cp -af $MODPATH/mixer_paths.xml $MODPATH/system/vendor/etc/ | ||
chmod 0755 $MODPATH/system/vendor/etc/mixer_paths.xml | ||
fi | ||
|
||
# Clean up | ||
sleep 1 | ||
ui_print "- Cleaning up" | ||
clean_up() { | ||
rm -rf $MODPATH/mixer_paths.xml | ||
rm -rf $MODPATH/LICENSE | ||
} | ||
clean_up | ||
|
||
# Executing... | ||
# Done | ||
sleep 1 |
Oops, something went wrong.