Skip to content

Commit 017816b

Browse files
authored
Update
1 parent d7c1671 commit 017816b

File tree

5 files changed

+202
-0
lines changed

5 files changed

+202
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/sbin/sh
2+
3+
#################
4+
# Initialization
5+
#################
6+
7+
umask 022
8+
9+
# echo before loading util_functions
10+
ui_print() { echo "$1"; }
11+
12+
require_new_magisk() {
13+
ui_print "*******************************"
14+
ui_print " Please install Magisk v20.4+! "
15+
ui_print "*******************************"
16+
exit 1
17+
}
18+
19+
#########################
20+
# Load util_functions.sh
21+
#########################
22+
23+
OUTFD=$2
24+
ZIPFILE=$3
25+
26+
mount /data 2>/dev/null
27+
28+
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
29+
. /data/adb/magisk/util_functions.sh
30+
[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk
31+
32+
install_module
33+
exit 0
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#MAGISK

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
# Android-Wake-On-Volume
22
Enable Wake On Volume for broken power button
3+
4+
## Description
5+
This module enables the Wake On Volume for devices with broken power button. It is depend on the device and ROM if it works or not.
6+
This script is modify file from `/system/usr/keylayout/Generic.kl` and change `VOLUME_DOWN` to `WAKEUP`.

install.sh

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
##########################################################################################
2+
#
3+
# Magisk Module Installer Script
4+
#
5+
##########################################################################################
6+
##########################################################################################
7+
#
8+
# Instructions:
9+
#
10+
# 1. Place your files into system folder (delete the placeholder file)
11+
# 2. Fill in your module's info into module.prop
12+
# 3. Configure and implement callbacks in this file
13+
# 4. If you need boot scripts, add them into common/post-fs-data.sh or common/service.sh
14+
# 5. Add your additional or modified system properties into common/system.prop
15+
#
16+
##########################################################################################
17+
18+
##########################################################################################
19+
# Config Flags
20+
##########################################################################################
21+
22+
# Set to true if you do *NOT* want Magisk to mount
23+
# any files for you. Most modules would NOT want
24+
# to set this flag to true
25+
SKIPMOUNT=false
26+
27+
# Set to true if you need to load system.prop
28+
PROPFILE=false
29+
30+
# Set to true if you need post-fs-data script
31+
POSTFSDATA=false
32+
33+
# Set to true if you need late_start service script
34+
LATESTARTSERVICE=false
35+
36+
##########################################################################################
37+
# Replace list
38+
##########################################################################################
39+
40+
# List all directories you want to directly replace in the system
41+
# Check the documentations for more info why you would need this
42+
43+
# Construct your list in the following format
44+
# This is an example
45+
REPLACE_EXAMPLE="
46+
/system/app/Youtube
47+
/system/priv-app/SystemUI
48+
/system/priv-app/Settings
49+
/system/framework
50+
"
51+
52+
# Construct your own list here
53+
REPLACE="
54+
"
55+
56+
##########################################################################################
57+
#
58+
# Function Callbacks
59+
#
60+
# The following functions will be called by the installation framework.
61+
# You do not have the ability to modify update-binary, the only way you can customize
62+
# installation is through implementing these functions.
63+
#
64+
# When running your callbacks, the installation framework will make sure the Magisk
65+
# internal busybox path is *PREPENDED* to PATH, so all common commands shall exist.
66+
# Also, it will make sure /data, /system, and /vendor is properly mounted.
67+
#
68+
##########################################################################################
69+
##########################################################################################
70+
#
71+
# The installation framework will export some variables and functions.
72+
# You should use these variables and functions for installation.
73+
#
74+
# ! DO NOT use any Magisk internal paths as those are NOT public API.
75+
# ! DO NOT use other functions in util_functions.sh as they are NOT public API.
76+
# ! Non public APIs are not guranteed to maintain compatibility between releases.
77+
#
78+
# Available variables:
79+
#
80+
# MAGISK_VER (string): the version string of current installed Magisk
81+
# MAGISK_VER_CODE (int): the version code of current installed Magisk
82+
# BOOTMODE (bool): true if the module is currently installing in Magisk Manager
83+
# MODPATH (path): the path where your module files should be installed
84+
# TMPDIR (path): a place where you can temporarily store files
85+
# ZIPFILE (path): your module's installation zip
86+
# ARCH (string): the architecture of the device. Value is either arm, arm64, x86, or x64
87+
# IS64BIT (bool): true if $ARCH is either arm64 or x64
88+
# API (int): the API level (Android version) of the device
89+
#
90+
# Availible functions:
91+
#
92+
# ui_print <msg>
93+
# print <msg> to console
94+
# Avoid using 'echo' as it will not display in custom recovery's console
95+
#
96+
# abort <msg>
97+
# print error message <msg> to console and terminate installation
98+
# Avoid using 'exit' as it will skip the termination cleanup steps
99+
#
100+
# set_perm <target> <owner> <group> <permission> [context]
101+
# if [context] is empty, it will default to "u:object_r:system_file:s0"
102+
# this function is a shorthand for the following commands
103+
# chown owner.group target
104+
# chmod permission target
105+
# chcon context target
106+
#
107+
# set_perm_recursive <directory> <owner> <group> <dirpermission> <filepermission> [context]
108+
# if [context] is empty, it will default to "u:object_r:system_file:s0"
109+
# for all files in <directory>, it will call:
110+
# set_perm file owner group filepermission context
111+
# for all directories in <directory> (including itself), it will call:
112+
# set_perm dir owner group dirpermission context
113+
#
114+
##########################################################################################
115+
##########################################################################################
116+
# If you need boot scripts, DO NOT use general boot scripts (post-fs-data.d/service.d)
117+
# ONLY use module scripts as it respects the module status (remove/disable) and is
118+
# guaranteed to maintain the same behavior in future Magisk releases.
119+
# Enable boot scripts by setting the flags in the config section above.
120+
##########################################################################################
121+
122+
# Set what you want to display when installing your module
123+
124+
print_modname() {
125+
ui_print " "
126+
ui_print " ********************************************"
127+
ui_print " * Wake On Volume *"
128+
ui_print " ********************************************"
129+
ui_print " "
130+
}
131+
132+
# Copy/extract your module files into $MODPATH in on_install.
133+
134+
on_install() {
135+
136+
ui_print "- Installing module"
137+
ui_print "- Copy system files"
138+
139+
F_TARGETDIR="$MODPATH/system/usr/keylayout"
140+
mkdir -p "$F_TARGETDIR"
141+
/data/adb/magisk/busybox cp /system/usr/keylayout/Generic.kl $F_TARGETDIR
142+
ui_print "- Modify system files"
143+
/data/adb/magisk/busybox sed -i 's/VOLUME_DOWN/ WAKEUP/' $F_TARGETDIR/Generic.kl
144+
}
145+
146+
# Only some special files require specific permissions
147+
# This function will be called after on_install is done
148+
# The default permissions should be good enough for most cases
149+
150+
set_permissions() {
151+
# The following is the default rule, DO NOT remove
152+
set_perm_recursive $MODPATH 0 0 0755 0644
153+
154+
# Custom permissions
155+
# set_perm $F_TARGETDIR/Generic.kl 0 2000 0755 u:object_r:system_file:s0
156+
}
157+
158+
# You can add more functions to assist your custom script code

module.prop

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
id=Android-Wake-On-Volume
2+
name=Wake On Volume
3+
version=1.0
4+
versionCode=1
5+
author=anasfanani
6+
description=Enable Wake On Volume for broken power button

0 commit comments

Comments
 (0)