Skip to content

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
BasileusRex is Lukest85 (???)

Co-authored-by: BasileusRex <[email protected]>
  • Loading branch information
Charlie-117 and BasileusRex committed Sep 18, 2020
0 parents commit 7f1bfb8
Show file tree
Hide file tree
Showing 7 changed files with 1,708 additions and 0 deletions.
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

196 changes: 196 additions & 0 deletions META-INF/com/google/android/update-binary
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
1 change: 1 addition & 0 deletions META-INF/com/google/android/updater-script
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#MAGISK
46 changes: 46 additions & 0 deletions README.md
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
36 changes: 36 additions & 0 deletions customize.sh
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
Loading

0 comments on commit 7f1bfb8

Please sign in to comment.