Hello XDA users, deciding to post this here because i figured it could get some use/i could get some feedback
(Placing it in general because i honestly dont think it could work anywhere else)
Basicly over the past few months ive been taking my multiple script for android, & rewriting/compressing into 1 library
& adding features/functionality that i consider useful. This script has never touched a PC, & only been written on android
(BTEP & DroidEdit Pro), & is designed to:
A.) Extend the basic terminals functionality.
B.) Extend customized scripts, & making scripting semi-easier.
C.) Offer multi-device compatibility while keeping origional functionality.
The script is capable of determining all critical variables on initialization, from
partitions (both mount name, & partition number can be easily obtained), OS/ANDROID version/type
Execution mode (source/exec), Autodetect instigator (Eg: boot, script, shell, etc.) If present, Execution level,
Etc, seamlessly before scripts execution, & modify its own execution accordingly.
The script can be used in a similar method to busybox (Eg, can be called directly, or through symlink
(Symbolic link) using functions name, & allows adding multiple switches at runtime which can totaly
Customize execution without touching a configuration (yes, it does support configurations).
Or for script/shell, can be sourced for max performance & increased functionality.
This script is designed to be as native as possible, & only requires busybox/toolbox, & bash (4.1+)
(Systems default/sh) is not sufficient.
Readme (1/2, Read 2nd post):
Code:
----------------------------------------------------------------------------------------------------
Table of contents:
1.) Basic information
2.) Installation
3.) Usage
3a.) Basic commandline switches
4.) Included functions & definitions (Execution)
4a.) Included functions & definitions (Source only)
##########################################################################################################
Basic Information 1.
SuperBox is a multi-call, multi-execution function library (think busybox with bash & sourcing),
built on ANDROID, For ANDROID, Designed to increase script efficiency, & offer "unstandard"
multi-device functionality, & some functionality considered "missing" from ANDROID/Linux by default.
##########################################################################################################
Installation 2.
Superbox is designed to be easy to install/use, and requires very few steps/dependancies to install.
Before installing, please check this small list of prerequisites & insure you have the required
dependancies to ensure correct installation, the following are required:
a.) BASH 4.x (4.0+) installed & linked to '/system/bin' & '/system/xbin', Systems default is not
sufficient & cannot support SuperBox in all needed areas.
b.) BusyBox 1.18+ (tested on v1.19.4), Please ensure toolbox is also fully installed.
c.) Device must be rooted & running S-off (insecure kernel, read kernel documentation)
This part can be bypassed if installing through recovery. Some features will be limited.
d.) SuperBox is a terminal/script expansion toolkit, as such, a terminal emulator (Such as BTEP aka:
Better Terminal Emulator Pro, or similar) is recommended for optimal usage.
if your device can meet the above requirements, you are ready to install.
To install, simply move the downloaded script (superbox, or superbox.txt) to either '/system/bin', or
'/system/xbin', if the downloaded file has an extension, remove it.
Set permissions to 755 (rwxr-xr-x), Once complete, open your preferred terminal, & type 'su -c bash'
once in bash, type 'superbox' (or whatever you named the script), or 'superbox --info', if the operation
succeeded without error, you can begin full installation, Simply type either:
'superbox --install', or 'superbox --install <FUNCTION> to fully install, or install specific function.
See section 3a (Basic commandline switches) for full list of available switches, or section 4
(Included functions) for list of executable functions.
##########################################################################################################
Usage: 3.
SuperBox allows multiple methods of execution, & preferred method is left completely up to the user.
Sourcing:
SuperBox can be sourced either in terminal, or script, using something similar to
'. superbox', or '. ./superbox' if kept in unstandard path. if sourcing in terminal & script appears
to continue to execute, Try adding '--noboot' switch (see section 3a).
Script allows extra functionality not typically available in execution mode.
Execution:
this is the most typical use for superbox, & as easy as typing 'superbox <function>' or '<function>'
when fully installed. For list of all available functions, use 'superbox --list' to generate full list
of available applets, Please note that when using '--list' or even app count when using '--info' is
only listing execution type applets, Source functions are NOT included in this list.
----------------------------------------------------------------------------------------------------------
Basic commandline switches 3a.
SuperBox allows adding additional variables through commandline to modify per-execution variables,
Without editing a configuration, or worrying about recurrent changes. These variables effect a wide
range of scripts functions, & are available in 2 levels,
1.) SuperBox switches:
These switches effect the script as a whole, & are listed/added by the double-hyphon prefix ('--')
These are the only switches listed in this readme, for individual functions switches, please use
'superbox <function> --help' or '<function> --help' if fully installed.
1.) Function switches:
These switches only effect the function being processed, & are listed by a single-hyphon ("-"),
These are not available in all functions. Function switches should be used after superbox switches.
SuperBox switches:
The following MUST be passed as MODE & must be called directly from SuperBox, Eg:
'superbox --<MODE>', Not capable of being passed as variable.
install | Usage: '--install <FUNCTION> --installto={PATH}', Generates symbolic link for FUNCTION in
| PATH, if no FUNCTION specified, installs all, if no path, Default is used.
remove | Usage: '--remove <FUNCTION>', Opposite of above, Removes link for specified function.
| Scans system to find symbolic link, use '--full' switch to scan full recursive.
chkbb | Checks install status of busybox, & capable of generating missing links, use '--fix' to
| auto repair any/all missing links.
version | Displays installed SuperBox's version.
list | Lists all included execution-capable functions included in current version.
The following are to be used after mode (function listing), Eg: 'superbox <MODE> --<SWITCH>' or
'<MODE> --<SWITCH> when fully installed.
debug | Forces debugging on script (uses 'set -x' command), applies to script as a whole.
bb/tb | Pre-determines which busybox/toolbox versions to use, Must be used as '--bb=/path/to/file'
| or '--bb/path/to/file', Specifying invalid input will restore defaults when executing.
color | Default Colors for modes allowing color. sets color based on position in strings, Eg:
| '012345678' (upto 9 characters) where: 0=Error, 1=Note/Highlight, 2=Note2, 3=Normal,
| 4=File, 5=Path, 6=Link, 7=Background, 8=border, use pound (#) in place of unused spacing.
| for full listing of colors, Please see 'manfunc Col'
nocolor | Overrides above switch, & disables color in all segments.
installto | Modify install location for current component. (Used as '--installto={PATH}')
| MUST be used after install mode (Effects most file-based sections).
file | Usage: '--file="{/FULL/PATH/TO/FILE}"', used to set file path/name for specific segments
| Only effects segments where single-file processing is key.
local | Usage: '--local=\"{PATH\"', Assign path to use as local directory.
home | Usage: '--home=\"{PATH\"', Assign path to use as home directory, Use above over this.
time | Usage: "--time='{FORMAT}'", Specify time format (see '--timef'), (used for Lecho, etc.).
timefull | Usage: "--timef='{FORMAT}'", Specify full time/date format for script. %Y=4-digit year,
| %m=2-digit month, %d=2-digit day, %H=2-digit hr (24hr), %l=hour (12hr), %M=2-digit min,
| %S=2-digit seconds, %h=print month, %l=hour (12hr), %a=3-char day, %c=full (default).
log | Usage: '--log=<LEVEL>', set logging level/mode for script. *BROKEN, DONT USE*
logfile | Can only be used with '--log' greater then 1. Usage '--logfile=\"{PATH/FILE}\"'
tmpfile | specify temporary file to use for processing some segments.
tmppath | specify temporary path to use when needed for processing some segments.
list | Lists all included execution-level functions in current build.
help | Use immediately after <APPLET> to display information & usage on selected applet, Some
| applets will only display partial information by default, Use '--full' after help to
| display full information on specified function.
fix | Multipurpose switch, Allows bypassing non-critical errors, allows repairing any/all
| fixable errors, & serves to aid some functions.
silent/q | silences most (non-critical) output from STDOUT.
##########################################################################################################
*NOTE
some functions might not be considered 'main stream' or correct, but through trial & error, seem to work
Best with the chosen method.
Some functions are a WiP, might not be functioning correctly.
If you experience an issue, or have a suggestion, Please let me know.
**EDIT**
Updated, most functions should work correctly now.
Readme (2/2):
Code:
Included Functions (Execution) 4.
alignapk <file>
> Automaticly align <file> if specified, or all installed apks otherwise. can specify specific apk, or
simply apk name if apk is installed. Ex: 'alignapk systemui' is equivalent to
'alignapk /system/app/SystemUI.apk", extension (apk) is not needed, if path is specified, must be case
specific, otherwise alignapk will attempt to process case insensitive. Script will generate a SQL
database by default, but can specify text-based database with customized settings (See default config)
bam <Process1> <Process2>...
> kill any running processes matching specified input. Partial matches are supported, Eg:
'bam media' can kill 'android.process.media', aswell as any/all packagenames including 'media'
baseext <FILE> <MODE>
> echos the base extension of <FILE> if no MODE specified, or filename without extension if <MODE> is 1.
Anything else will display File with 'MODE' as extension, Eg: 'baseext ex ample' will return ex.ample
bar <var1> <var2> <var3>..
> displays accurate progress bar on screen, with the default terminal width as overall length.
Supports multiple customizable parameters. Only supports duration & strict percentage in current
build, More uses will be added in future builds (Eg: watch process, count, etc). Supported switches:
-t | Specify total time to run the bar, Usage: '-t=' where '' is scripts duration.
-p | Specify strict percentage to display (dont count) Eg: '-p60' will display 60% progress & quit.
-e | Specify displayed text when running the bar, multiline supported, can use script variables.
-d | Specify ASCII character to use for generating progress bar. default is '='.
-w | Override default width to use when processing bar, default is terminals width.
-n | Show progress Percentage (%) rather then progress bar (-b works as the oppisite)
-s | Display incrementing progress bar (jumps by ~1%) rather then the per-increment jump.
-k | same as '-s', but shows percentage at end of bar. (will increase exec time)
basepath <PATH>
> echos the base path or mount point (closest to rootfs) of <PATH>
byte <BYTES>
> Automagicly calculates Bytes(B)/kilobytes (Kb)/Megabytes (Mb)/Gigabytes (Gb) based on
on given Number in 'BYTES' on the *1024 principle, Eg: 'byte 1024 = 1Kb', Supports decimal places,
& maximum decimal points can be modified by 'MaxDec=' variable. Uses rounding to strip access.
Using '0' as 2nd variable will remove non-numaric characters from return (Eg: 'Kb/Mb/Gb/etc.).
Using '1' as 2nd variable will seperate non-numaric & numaric characters (Eg: '1Kb' would b '1 Kb').
calc <VAL EXPR VAL> or echo "VAL EXPR VAL"|calc
> similar basic functionality to 'bc', mini calculator script using 'awk' & 'printf', Supports Piping,
(function|function), float integers (decimals) & multiple types of arithmatic.
chrg_type <MODE>
> Quickly determines where the device is currently getting power from. Following modes are supported:
0 = Quiet output, returns 0-2 for Battery/AC/USB respectively.
1 = similar to '0', but displays code Aswell as return code.
2 = displays source (Eg: Battery/AC/USB), all other modes will simply display string.
chkdir <PATH> <PERM> <OWNER.GROUP>
> Checks existance of <PATH>, calls 'mkdir -p' if not exist, & sets permissions <PERM>
(numaric) when creating, & sets owner/group if spedified.
chksize <MOUNT> <CHECK> <ECHO>
> Checks if <MOUNT> has <CHECK> mb free (good for checking before extracting/installing). Returns 1/0
accordingly. set <ECHO> to 0 to use errorcode & disable echoing to STDOUT (if statment, (echo $?))
chkstate <INPUT> <EXEC_CMD>
> Determines if <INPUT> is available for script use, able to detect functions, aliases, links, binaries,
files, Variables, etc. specify <EXEC_CMD> to exwcute <INPUT> if detected. (binaries/functions/etc.)
Col <STRING> <MODE> or Col <STRING>
> Used for colored text Replace 'Col' with either: Bla(ck), Blu(e), Red, Gre(en), Whi(te), Mag(enta),
Cya(n), Yel(low). Ex: 'Bla "sample text" 1', Available modes are: 1=Bold, 2=Underline, 3=colorfill
(switches background/text), 4=no newline, 5=bold (no newline), 6=underline (no newline).
columns <MODE>"
> prints available columns, Set <MODE> to 1 to print number of lines (height of prompt).
conv <celsius|fahrenheit> <TEMP>, or conv <F> <T> "<STRING>"
> a rather bloated conversion script capable of converting tempuratures, or string to various formats.
-When converting tempuratures, both 'conv c 100', & 'conv 100c' are correct & will output sum
-When converting string, 'F' (From) & 'T' (To) must be specified to begin calculation.
'F' & 'T' can be one of the following: 'a' (ascii) (normal text), 'b' (binary, outputs 8-digit binary
code for each character specified), or 'h' (hexadecimal), when processing from hex, 4th variable
specifies preceeding character(s) to add to each return (default is '\x'), if set to 0, no characters
are added to string, only 2-digit hex is returned, For example: 'conv a h hello' (no 4th variable)
returns '\x68\x65\x6C\x6C\x6F', while 'conv a h hello 0' returns '68656C6C6F'.
divider <LENGTH> or divider -d<CHAR> <LENGTH>
> generates a bar (String of character(s) or CHAR if set), <LENGTH> characters long, if no LENGTH set,
total width of terminal window is used. Use '-d<CHAR> to customize character, Default is pound ('')
Eco <ABCDE> "TEXT"
> Echos <TEXT> with specific atributes, based on <ABCDE>, where: A=Line only [0|1], B=no newline[0|1],
C=(Bold[1], Underline[2], None[0]), D=Text color, E=Background color. Valid colors include:
0 - black, 1 - Red, 2 - Green, 3 - Yellow, 4 - Blue, 5 - Magenta, 6 - Cyan, 7 - White
ex <path/to/file>
> Extract archive to designated path, & even allows recompiling. use '--help' for more information.
exist <INPUT>
> Attempts to detect input & gives return code depending on findings Eg: 3=Dir, 2=Link, 1=File, 0=none.
fdate <INPUT>
> Same usability as 'busybox date -r', Returns modified date of <INPUT> Output can be adjusted
using '--timef' switch.
FixCl
> Returns color to normal, regardless of user-preset defaults.
getblock <MOUNT_NAME>
> Simply echos the block ID of requested point, saves a lot on scripting & allows true multi-device
compatibility. Usage as: 'getblock system'
gnasty <OPTIONS> <PATH>, Or 'gnasty <PATH>'
> Searches for files/paths with names containing invalid characters such as
[+ { ; " \ = ? ~ ( ) < > & * | $], Prints any/all links, includes full path by default. Modes include:
-d - specify directory, used as '-d={PATH}', not needed in most cases.
-m - Max search depth from directory, cannot be less then 1 (default). Usage: '-m' or '-m='.
-i - Display files inode (index number), useful for looping output to irm.
ipath <path>
> Will auto-correct <path> to case-sensitive (if exist) when input does not match case
(case-insensitive path correction through function)
irm [-irRfna] FILE, or 'irm FILE'
> remove (unlink) FILE using inode (index number). used for files/paths with illegal
characters in the name, (Eg: '+ { ; \" \\ = ? ~ ( ) < > & * | $'). The following modes are supported:
-i - Always prompt before removal | -f - Never prompt before removal
-r|-R - Remove file(s)/path recursively | -a - Only use name (no inode, replicating busybox rm)
-n - Ignored, used solely for script use.
is_num <STRING>
> Checks if 'STRING' is numaric (Contains only numbers), Returns 0 if true, 1 otherwise.
Can use '1' as second variable to echo result aswell as return code, eg 'is_num <STR> 1'.
lc "<INPUT>"
> Switches input to all lowercase, supports whitespace/newline, no limitations.
Lecho <MODE> <TEXT> <FILE1> <FILE2>
> Used to pipe text to log (while removing color/string data) & terminal.
If no file specified, Simply replicates echo with log header. Supports the following headers:
1=' : ' (default), 2='[!]' (error), 3=' > ' (note), 4=' ' (continuation).
lperm <PATH|FILE> <MODE>
> Execute user pre-generated configurations (mperm) based on input, can choose to either restore whole
path to configured state, or simply process 1 file from said config.
set <MODE> to 0 to disable recursive loading (dont descend into subdirectories).
manfunc <function>
> Displays available information for selected function, Operates identical to: '<function> --help'.
many <TEST> <STRING>
> Determine how many times <TEST> appears in <STRING>
md5 <string>
> Generates md5 hash from string (or filename).
mk <path/to/directory_or_file_to_archive>
> Use 7-Zip to build specified archive efficiently through script. While keeping full functionality
(and even adding), Supports 7z, zip, xz, bzip2, gzip, tar, & wim archive types. use '--help' for info
mod <OPTION> <var1> <var2>
> Modifies particular segments of device: Following options are supported:
b | brightness Modifies LCD (Display) brightness NOT supported on some devices.
display | Modify current pixal density, Eccepts numarical value (like lcd.density in build.prop),
Changes are made on the fly, & will reset all open applications, use with caution, can use
'reset' to reload default density from build.prop, Usage: 'mod density <value>'.
mperm <PATH|FILE> <MODE>
> Generate configuration for specified input, recording type, Permissions, Owner & Group, These configs
can then be loaded at any point specified, or ondemand using lperm, Supports the following modes:
0=non-recursive, 1=ignore errors,
myip
Display devices current IP, using nothing but wget, making it the trimmest ip oneliner around :)
ofcourse, internet connection is required.
nocl <STRING>
> Removes color variables from <STRING> to allow recording dato to log.
pinfo <NAME> <MODE>
> Neatly Prints process information for specified <NAME>, Supports the following modes:
1=Display PID (replicating pgrep), 2=Displays processes full Name, 3=Displays Parent Ppid,
4=display all options, 5=Display processes adj lvl, 6=Displays current State, S=sleeping, R=running,
7=Displays Owner, 8=Displays the Group (if set).
pos <VAL> <STRING>
> Displays start point(s) of 'VAL' in string, If multiple instances are detected, prints all starting
points seperated by customizable delimiter (Default is " " (whitespace)). If using custom delimiter,
('-d' switch), switch MUST be passed as first variable & specified as '-d%' where '%' is the new
character to use, Eg: instead of: 'pos hi hellohiwatup', Use: 'pos -d% hi hellohiwatup'.
Only effects multiple occurences of 'VAR'.
printl <FILE> <START> <END>
> Prints specific line(s) from FILE, If END is unspecified, prints 1 line, Otherwise prints from 'START'
to 'END', Using 'EOF' for 'END' will print to end of 'FILE', Using 'C' for 'START' will count lines.
pwr <mode>
> Advanced power control, with additional modes, which should work on multiple devices, Available modes:
reboot | reboot device, can use 'reset' aswell with same effect. can use 'hot' as 3rd variable to
perform hot reboot (still performs sync), simply reboots OS without rebooting kernel.
off | shutdown device, does exactly as stated.
download| Reboot into download mode. Might not be supported on some devices.
recovery| Reboot into recovery mode. Might not be supported on some devices.
wipe | Wipes cache/dalvik, then performs full reboot.
fc | Set fast-charge mode (needs kernel support), Eg: 'pwr fc 1' to enable, 'pwr fc 0' to disable
Using 'pwr fc' will display status, or support if unsupported.
rand <LENGTH> <MODE>
> Output random string 'LENGTH' characters long (Default is 32), if 'Mode' is unspecified, or is
Invalid, Output will consist of all printable characters. The following modes are available:
0 - Only print Letters (Upper & lower case) & digits
1 - Only print Letters (Upper & lower case)
2 - Only print digits
3 - Only print letters (Upper case)
4 - Only print letters (Lower case)
readperm <STRING>
> Opposite of 'showperm', displays permissions level from readable string. Easier to use switch
(& even switch again). Sticky/"special" fully supported. Again, 'switch' is easier/cleaner to manage.
remount <MODE> <0|1>
> remounts system & rootfs in specified mode, Second variable in string is unneeded But determines
check state, 1 will use rootfs as check, 0 will use '$System' (default), Use '--help' for more info
rootrw/rootro
> Mounts 'rootfs' as R/W (Read/Write) & R/O (Read/Only) respectively, similar to miniscripts included
in most Roms, With the exception that it utilizes the autodetection available in script, & should
work on any device/rom.
setlength "<STRING>" <POSITION> <LENGTH>
> displays the adjusted value of <STRING>, & should be under <LENGTH>,
autocorrects/centers based on given input, If no length is specified, 'Cw' (Common width) is used,
or scripts cefault. for position, -1 is right, 0 is left, 1 is center.
setown <FILE|PATH> <OWNER.GROUP>
> Glorified chown, With logging support.
setperm <FILE|PATH> <PERM>
> Glorified chmod, With logging support.
setprops
> Similar functionality to 'sysctl' Set system properties from configuration.
Can use '--file' to Specify reference file.
setval <VARNAME> <POINT> <FORCE> <POINT2> <FALLBACK_VALUE>
> Set values on system files, up to 2 points can be set for a variable, Can also specify fallback
If no value set in VARNAME. and no default, VARNAME, is used to reference the variable in error
sha256/sha512 <string>
> Generates sha512/sha256 encoded hash from string, similar to 'md5' function.
showperm <PERM_STRING>
> Displays permissions string in readable form from input, sticky/"special" notes are fully supported.
Switch is easier to use & capable of doing both.
size <MODE> <POINT> <[1,MB|2,AUTO|*,KB]>
> Echos the value of specified mode on specified <POINT> (modes 1-4 are for mount points).
If incorrect mount specified, Returns errorcode. Automaticly fixes missing '/' on specified mount if
not present. Third variable specifys out format. 1 is Mb, 2 is auto (kb/mb/gb with tags), * is kb
only (default), Following Modes are supported: 1=Full size, 2=Used space, 3=Used %, 4=Free space,
5=Size (use for files/paths, will not work on mounts, added '5' on request).
stype <INPUT>
> Defines file type & offers return code based on existance. Returns the following:
0=no input, 1=File, 2=Function, 3=Keyword, 4=Builtin, 5=Directory, 6=Variable, 7=Unknown/not exist.
switch <STRING>
> Switch permissions string from either human readable (rwxrwxrwx) or Numaric (777), or vice versa.
sysrw/sysro
> Mounts '/system' as R/W (Read/Write) & R/O (Read/Only) respectively, similar to miniscripts included
in most Roms, With the exception that it utilizes the autodetection available in script, & should
work on any device/rom.
sput <mode> <option1> <option2>
> large function resembling 'tput', rebuilt for 'light' or dumb terminals, should work for most scripts
requiring tput, use 'sput --help' for more information on available options.
toggle <string>
> Checks if <string> can be considered a "true or false" statement, eg: 'toggle 1' would be '0',
'toggle yes' is 'no', 'toggle on' is off, etc. Uses 'togglevars' string. case inspecific.
tree <path>, or tree --arguments -triggers <path>
> Displays directory information based on user input, if no input specified, Current path is used.
Allows using 'tree.cfg' in '$LocalPath' directory. Use '--help --full' for more information.
truncp [-f] <path> <length> <symbol>
> Truncate <path> to <length>, & prepend <symbol> to beginning when truncated. Default <symbol> is ".."
If '-f' switch is used, Path is truncated to <length> specificly, no exceptions, otherwise splits at
closest base to <length> (default length is 20), Eg: 'truncp /system/etc/SuperBox 12' will return:
'../SuperBox', & 'truncp -f /system/etc/SuperBox 12' will return '..c/SuperBox' (12chars precisely)
Output must never exceed <value>, Truncation does not occur unless <path> is over <length>.
uc "<INPUT>"
> Switches input to all uppercase, supports whitespace/newline, no limitations.
Included Functions (Source Only) 4a.
Please note that the functions listed here might not be a complete list of available applets for use in
source mode, & the applets listed here are unavailable in execution mode due to limitations of bash
script handling (Only available when sourced or sourced through script).
cd <path>, or cd <var> <path>
> works as a replacement/extension to shell's builtin. can auto-cd to files path if file is specified
& supports additional (unstandard) functionality, while keeping origional functionality fully intact.
Supports the following variables:
> -l | follow links to home path. (eg: 'cd /etc' would cd to '/system/etc'), defaults as on.
> -p | dont follow links to home path (oppisite of above, cds to given input).
> -c | process case insensitive (Eg: 'cd /SYSTEM/ETC' would cd to '/system/etc') Default is off.
> -m | make path if path doesnt exist, then cd to created path (nofail cd).
Variables can be passed either united, or seperate, & in any order, Eg: '-l -p -m -c' or '-lpmc'
error <id> <string1> <string2>..
> prints error message to stderr based on error 'id'. available ids can vary with build & it is not
recommended to call this function, for compatibility reasons, only ids that are garunteed to remain
unchanged are, '-1' (self-defined, no error notice), & '3' (self-defined with error notice).
Error ID & definitions start at line ~157, & continue to 'END_ERR' & can be previewed with 'printl'.
getsizes <base-size>
> used for generating spacing when generating menus in a uniform fashion, if 'base-size' is unspecified,
Script will use terminal width instead. Exports the following variables:
Cw - Custom width, overall width of panel (base-size, or columns)
Ws - Workspace, Width of 'Cw' Minus borders (Side1/Side2 & Edge) (if set).
Side - Width of sides ('Ws'/3), Use for left/right on 3-column menu.
Middle - Width of middle ('Ws'/3 & adjusted for uneven width), Use for left/right on 3-column menu.
Left - Width of left ('Ws'/2'), use for 2-column menu.
Right - Width of right ('Ws'/2 & adjusted for uneven width), Use for 2-column menu.
getvals $*
> used for functions eccepting runtime variables, & offers extended customizations when compared to
using 'shift' & 'if/case' statements. Only requires a nested 'ctrigs' function determining all
applicable switches, & a note to 'ctrigerr $1' on undefined. all additional variables passed to this
function are exported to V{1..20}. (script allows up to 20 variable/switch combinations by default).
'getvals' will auto-clean all previous user-variables before start, & clean all unused when done.
inpth <VARIABLENAME> <DEFAULTPATH>
> Checks if 'VARIABLENAME' has a directory, if not, sets 'VARIABLENAME' to 'DEFAULTPATH/VARIABLE'
used for defaulting files to correct locations, 'VARIABLENAME' must be variables name, & must be set,
setclock <mode>
> can pass variable as mode, allows '0/1' as values, exports either 12hr (0), or 24hr (1) formatted
variable (variable name 'Time') for use with 'date' Eg: 'date +$Time'
up <path> <count>
> replicates 'cd ..', if no variable passed, cd's up one level from current directory, if 'path' is
specified, cd's up 1 level from 'path', or 'count' levels up from either.
Use as either 'up', 'up <count>', 'up <path>', or 'up <path> <count>'.
Configurations:
Configurations are unneeded for execution, but can be used to set default values
To use during execution
By default, configurations are read from:
'/system/etc/SuperBox' > main (system) configurations.
'/data/local/SuperBox' > user (writable) configurations.
User configurations will override system configurations if exist.
Main configuration (SuperBox.cfg):
Code:
#======================================================================#
# __ #
# Main configuration for: /\ \ #
# ____ __ __ _____ __ _ __\ \ \____ ___ __ _ #
# / ,__\/\ \/\ \/\ __`\ /'__`\/\`'__\ \ '__`\ / __`\/\ \/ \ #
# /\__, `\ \ \_\ \ \ \_\ \/\ __/\ \ \/ \ \ \_\ \/\ \_\ \/> </ #
# \/\____/\ \____/\ \ ,__/\ \____\\ \_\ \ \_,__/\ \____//\_/\_\ #
# \/___/ \/___/ \ \ \/ \/____/ \/_/ \/___/ \/___/ \//\/_/ #
# \ \_\ By: YupitsMine420 #
# \/_/ #
#======================================================================#
# File definitions: #
# can use full path, or script variable to define. not read by default.#
# #
# Used for 'setprops', Similar functionality to sysctl, sets system #
# properties from configuration file. #
# Prop_File: $LocalPath/SystemProps.cfg #
# #
# Used for chkbb, when generating missing links, all links generated #
# are written to this file for easy uninstall #
# BusyBox_File: $LocalPath/BusyBox_Add.cfg #
# #
# Specify custom BusyBox/ToolBox binaries for script to use #
# #
##Use_BusyBox: $System/etc/SuperBox/bin/busybox1210 #
# Use_ToolBox: $System/stest/Data/bin/toolbox #
# #
#======================================================================#
#
# Permissions configurations
#
# Paths:
Perm_Src_Dir=755 # Source paths.
Perm_Cfg_Dir=644 # Configuration paths.
Perm_Bin_Dir=775 # Binary (executable) paths.
#
# Files:
Perm_Src_File=644 # Sourcable files.
Perm_Cfg_File=644 # Configuration files.
Perm_Bin_File=755 # Binary (executable) files.
#
DefOwner=root # Default owner.
DefGroup=root # Default group
#
#======================================================================#
#
# Basic configurations:
#
# User configuration path, should be R/W by default (usually '/data').
# Configurations in this path will override base configurations.
LocalPath='$Data/local/SuperBox'
#
# Set scripts clock format, 0=12hr, 1=24hr.
use_24hr=1
#
# Enable/Disable colors in all segments. 1=enable, 0=disable
ColorMode=1
#
# Specify default Colours for modes allowing colour. Format is:
# '0 1 2 3 4 5 6 7 8', where: 0=Error, 1=Note/Highlight, 2=Note2,
# 3=Normal, 4=File, 5=Path, 6=Link, 7=Background, 8=Borders.
DefaultColors=(1 3 6 2 6 4 5 0 5)
#
# Set how many decimal points to allow in arithmatic calculations,
# used in (most) filesize segments. Default value is "2"
# Set to '0' to disable float integers (round to closest full number)
MaxDec=2
#
# Sets path used to store/load permissions configurations for 'm/lperm'
# these configurations are device specific & should not be ported or
# re-used outside of this ROM. Path set below should be constantly R/W.
PermDir="$LocalPath/Perms"
#
#======================================================================#
#
# SuperBox specific Configurations:
#
# Scripts default log method, 0=disabled, 1=critical, 2=full.
sbox_log_level=0
#
# sloggers default log method, '%' fits to width,'-' quiets output.
# (only outputs to log) only effects terminal.
sbox_log_mode=
#
# Specify if date should be appended to log name when generating.
# string is manipulated with 'sbox_log_tag' variable
# With the default value of '%a-%h-%d_%H-%M'
sbox_log_usedate=0
#
# if old log exists, append new data to the end when enabled.
sbox_log_append=1
#
# Allow superbox to be called by cron (startup), 1=Enable, 0=Disable.
sbox_allow_boot=1
#
# specify if SuperBox requires administrator on launch.
sbox_need_admin=1
#
# Link names that will be treated as direct call to SuperBox, Eg:
# Wont be treated as execution mode (links must be manually generated).
sbox_null_links="sbox2 superbox sbox.old sbox.new"
#
#======================================================================#
#
# cd (icd) Configurations:
#
# Specify if 'cd' should check match path/name case-sensitively
# Default is '1' (true), should use '-c' instead of changing this.
icd_usecase=1
#
#======================================================================#
#
# alignapk (zipalign) configurations:
#
# Zip alignment configurations:
# Zip default alignment level, 0 = disabled, 1 = auto, 2 = forced.
align_level=2
#
# Use MD5 sum for each file when processing align. 1=true, 0=false
align_usemd5=0
#
# Use SQL table for storing data, 1 = true, 0 = text database
align_usesql=1
#
# SQL table name to store configurations
align_table=zipalign
#
#======================================================================#
#
# Other (Misc.) Configurations:
#
Tree configration (tree.cfg) (can be appended to main configuration):
Code:
#======================================================================#
# __ #
# Tree configuration for: /\ \ #
# ____ __ __ _____ __ _ __\ \ \____ ___ __ _ #
# / ,__\/\ \/\ \/\ __`\ /'__`\/\`'__\ \ '__`\ / __`\/\ \/ \ #
# /\__, `\ \ \_\ \ \ \_\ \/\ __/\ \ \/ \ \ \_\ \/\ \_\ \/> </ #
# \/\____/\ \____/\ \ ,__/\ \____\\ \_\ \ \_,__/\ \____//\_/\_\ #
# \/___/ \/___/ \ \ \/ \/____/ \/_/ \/___/ \/___/ \//\/_/ #
# \ \_\ By: YupitsMine420 #
# \/_/ #
#======================================================================#
#
# Directories script will avoid, script supports partial matches when
# processing these paths. individual entries should be seperated by (":").
# 'bad_files' & 'bad_links' variables can also be defined to ignore said entry
tree_bad_dirs=":/proc:/dev:/sys:/:"
#
# Force processing any input, even if entry exists in 'tree_bad_*' variable(s)
tree_skip_check=0
#
#
# Used to connect same-depth paths when processing sub-directories &
# files, Default is "|", should be quoted.
tree_ui_con="|"
#
# Used as padding for filenames/etc. to match depth.
tree_ui_dep="+=>"
#
# Seperates file/link/date/size information when displaying tree.
tree_ui_sep="-->"
#
# Specify how tree will process links when detected.
# 0 = Normal, 1 = Ignore link, 2 = ignore all (dont display).
tree_link_mode=0
#
# Enable to Display directory info/size & file/link/dir count, etc.
tree_show_info=True
#
# Show size information when procesing files/links.
tree_show_size=1
#
# Show last modified date when procesing all files/dirs/links.
tree_show_date=1
#
# Enabling will stop script from processing more then 1 directory
# deep into base path.
tree_no_recurs=0
#
# Default Colormode for tree, Mode is '0 1 2 3 4 5 6 7 8 9' where:
# 0 = file, 1 = link, 2=directory, 3=note, 4=background, 5=connector,
# 6=depth, 7=seperator, 8=time, 9=size.
tree_color_mode=(1 3 6 2 0 6 3 8 4)
#
To see what variables are exported when script is sourced, you can create a small script such as:
Code:
export > /cache/1
. sbox
export > /cache/2
cat /cache/2|while IFS= read -r i;do
[[ "$(grep "$i" /cache/1)" ]] || echo "$i"
done
$bb rm -f /cache/{1,2}
save & run, will display all re-usable variables generated by superbox.
*NOTE
Change '. sbox' to '. <name_of_script>' depending on what you named it
adding switches after '. sbox' will enable the variable associated with said switches
My phone does neat stuff!
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
kj2112 said:
My phone does neat stuff!
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
Click to expand...
Click to collapse
Yep, playing with terminal is fun xD
Not quite a full terminal, but close
Ive managed to replicate some missing binaries in script, & modify some standards to suite my needs xD
Uploading a bash 4.1.0 binary for those who want it, the 1 thing this script relies on thats not standard
Just rename to 'bash', move to '/system/bin' & chmod 755 (rwxr-xr-x), then create symlink in xbin for compatability
(some scripts will use /system/xbin/bash, while others will use /system/bin/bash, easy to resolve with symlink)
Default bashrc (/etc/bash/bashrc)
Code:
# /etc/bash/bashrc
#
# This file is sourced by all *interactive* bash shells on startup,
# including some apparently interactive shells such as scp and rcp
# that can't tolerate any output. So make sure this doesn't display
# anything or bad things will happen !
#
# Test for an interactive shell. There is no need to set anything
# past this point for scp and rcp, and it's important to refrain from
# outputting anything in those cases.
[[ $- == *i* ]] || return
#
# Bash won't get SIGWINCH if another process is in the foreground.
# Enable checkwinsize so that bash will check the terminal size when
# it regains control. http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
shopt -s checkwinsize
#
# Enable history appending instead of overwriting.
shopt -s histappend
#
# set some environment variables
TERMINFO=/system/etc/terminfo
MANPATH=/system/etc/man:/system/man:/data/local/man
INFOPATH="$MANPATH"
HOME=/sdcard
TERM=xterm
#
# Enable color
CLICOLOR=1
#
# Control history location/format/etc.
HISTFILE="/system/etc/bash/bash_history"
HISTFILESIZE=3000
HISTCONTROL=ignoreboth
HISTSIZE=10000
#
# Prompt color codes
txtblk='\e[0;30m' # Black - Regular
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
txtylw='\e[0;33m' # Yellow
txtblu='\e[0;34m' # Blue
txtpur='\e[0;35m' # Purple
txtcyn='\e[0;36m' # Cyan
txtwht='\e[0;37m' # White
bldblk='\e[1;30m' # Black - Bold
bldred='\e[1;31m' # Red
bldgrn='\e[1;32m' # Green
bldylw='\e[1;33m' # Yellow
bldblu='\e[1;34m' # Blue
bldpur='\e[1;35m' # Purple
bldcyn='\e[1;36m' # Cyan
bldwht='\e[1;37m' # White
unkblk='\e[4;30m' # Black - Underline
undred='\e[4;31m' # Red
undgrn='\e[4;32m' # Green
undylw='\e[4;33m' # Yellow
undblu='\e[4;34m' # Blue
undpur='\e[4;35m' # Purple
undcyn='\e[4;36m' # Cyan
undwht='\e[4;37m' # White
bakblk='\e[40m' # Black - Background
bakred='\e[41m' # Red
badgrn='\e[42m' # Green
bakylw='\e[43m' # Yellow
bakblu='\e[44m' # Blue
bakpur='\e[45m' # Purple
bakcyn='\e[46m' # Cyan
bakwht='\e[47m' # White
txtrst='\e[0m' # Text Reset
#
# specify name of prompt
PROMPT_COMMAND='echo -ne ""'
#
# layout for coloring prompt command, if using color use this method only
# or get used to the blank prompt after executing command
if [ ${EUID} -eq 0 ];then
PS1="bash-4.1\[$txtred\]# \[\e[m\]"
else
PS1="bash-4.1\[$txtgrn\]$ \[\e[m\]"
fi
PS2='> '
PS4='+ '
#
# Set up a a few aliases to make commandline processing
# slightly easier.
for i in cat chmod chown df insmod ln lsmod mkdir more mount mv rm rmdir rmmod umount vi;do
eval alias ${i}=\"busybox ${i}\"
done
alias ls='busybox ls --color=auto'
alias sysro='mount -o remount,ro /system'
alias sysrw='mount -o remount,rw /system'
#
# Fix some 'change directory' aliases.
alias cd..='cd ..'
alias cdl='cd -L'
alias ..='cd ..'
alias ...='cd ../..'
#
# Annoyed by 'su' sending you to shell (sh)?
# Uncomment the following.
# alias su='su -c bash'
#
# Enable cmd style clear
alias cls='clear'
#
# Sudo semi-fix
alias sudo='su -c'
#
# Allow pulling command from history easily
alias hist='history|grep '
#
Updated for those few who download, fixed most broken functions & changed most default configuration names
If using configurations, you must use the new templates, original defaults still apply
If you have any issues using this build, please let me know, also, few new functions, & partially updated readme for
better definitions on new/existing options. included makeshift changelog for those who want it.
BTW. found a few binaries that work on our device, with all dependancies,
Such as:
7z (including 7za)
bc
GNU dc
GNU nano
GNU tput (with all dependancies such as terminfo db)
& various others (totaling about 30 GNU applications), just pm me if you want em. shouldnt upload as they aint my builds
Here are a few tricks that work with stock ROM and some apps I use. Maybe you find something you like to use too.
Little note on text here, sometimes you see " " (spaces) appear in text/code. They shouldn't be there. You will know when you see them. Ignore!
A very quick summary.
What type of values can you find/change in Android?
0) Linux sysclt values, use sysctl -a to list them (stored in /proc/sys/...)
1) Android properties, use getprop en setprop, you find them in /etc/build.prop
2) Android Settings databases, use settings list [system][global][secure] etc
3) Samsung CSC values, specific for Samsung to hide or show extra GUI elements in /system/csc/feature.xml or /etc/feauture_default.xml
4) Samsung Floating features, like above in /etc/floating_feature.xml
How to find them (1+3)?
- root your phone (install busybox on Android 4 or less)
- goto adb shell and su
- find /system -type f -exec strings -f {} \; | grep "persist\."
if you are looking for perstist. variables. Or to find CSC values use "CscFeature_"
Caveats: some "persist." values are stored in /data/property folder. Keep that in mind.
For some you need to change /system/build.prop, some are Samsung CSC features with the /system/csc/feauture.xml file or Android system settings db.
For some I cannot remember if it was already visible without tweaks. Anyway lets go
I put feature.xml (with a lot of nonworking csc features too!!!), build.prop and disabled_services.txt in attachement.
Reboot after putting new feature.xml in /system/csc folder. Permissions of the file: root.root 644, same for build.prop
If your Samsung ROM has no csc feature create /system/csc and put content in other.xml instead of feature.xml
Call Recording: <CscFeature_VoiceCall_ConfigRecording>RecordingAllowed</CscFeature_VoiceCall_ConfigRecording>
Call blocking: <CscFeature_Setting_EnableMenuBlockCallMsg>TRUE</CscFeature_Setting_EnableMenuBlockCallMsg>
Voice Recorder Quality: <CscFeature_VoiceRecorder_SupportRecordingQualitySetting>TRUE</CscFeature_VoiceRecorder_SupportRecordingQualitySetting>
Camera Shutter Sound:
build.prop ro.camera.sound.forced=0
<CscFeature_Camera_ShutterSoundMenu>TRUE</CscFeature_Camera_ShutterSoundMenu>
Data Usage on Quickpanel: <CscFeature_SystemUI_SupportDataUsageViewOnQuickPanel>TRUE</CscFeature_SystemUI_SupportDataUsageViewOnQuickPanel>
Multi Window: (sort of working, use recent apps button to see effect, landscape and portrait)
build.prop persist.sys.debug.multi_window=1 or setprop persist.sys.debug.multi_window 1
<CscFeature_Framework_ConfigMultiWindowTrayBarFunction>TRUE</CscFeature_Framework_ConfigMultiWindowTrayBarFunction>
Smart Manager:
<CscFeature_SmartManager_ConfigDashboard>dual_dashboard</CscFeature_SmartManager_ConfigDashboard>
<CscFeature_SmartManager_ConfigSubFeatures>autoclean|trafficmanager|trafficmanager_auto|storageclean|devicesecurity|autolaunch|cstyle|powerplanning</CscFeature_SmartManager_ConfigSubFeatures>
<CscFeature_SmartManager_DisableAntiMalware>TRUE</CscFeature_SmartManager_DisableAntiMalware>
ps: don't use "backgroundapp", it will FC RAM Management button
FM Radio Hybrid mode (inet) and EPG
Add support for Auto Follow and inet Hybryd support. Edit /etc/floating_feature.xml
<SEC_FLOATING_FEATURE_FMRADIO_REMOVE_AF_MENU>FALSE</SEC_FLOATING_FEATURE_FMRADIO_REMOVE_AF_MENU><SEC_FLOATING_FEATURE_FMRADIO_SUPPORT_HYBRID_RADIO>TRUE</SEC_FLOATING_FEATURE_FMRADIO_SUPPORT_HYBRID_RADIO>
<SEC_FLOATING_FEATURE_FMRADIO_SUPPORT_RDS>TRUE</SEC_FLOATING_FEATURE_FMRADIO_SUPPORT_RDS>
Smooth scroll of surface flinger
In /etc/floating_feature.xml
<SEC_FLOATING_FEATURE_FRAMEWORK_SUPPORT_SMOOTH_SCROLL>TRUE</SEC_FLOATING_FEATURE_FRAMEWORK_SUPPORT_SMOOTH_SCROLL>
Google installer overlay permission fix
For annoying overlay warning if using Lux for example (only for 6.0.1): here on xda
Apps that I use:
Xperia Keyboard: https://forum.xda-developers.com/android/apps-games/app-sony-xperia-keyboard-phones-t3346736
ZenUI Weather: http://www.apkmirror.com/apk/zenui-asus-computer-inc/
Samsung Apps: https://www.sammobile.com/apk/
Next Camera: https://forum.xda-developers.com/oneplus-one/themes-apps/app-cameranext-gallery-cm13-t3305917/page12
See attachement for comparisson Stock, Next and OpenCam.
Dalvik JIT for dex: build.prop: [size=+2]debug.usejit=true[/size]
adb commands: stop cd /data/dal*/arm rm * sync reboot
RIL wakelock optimalisation: build.prop: [size=+2]ro.ril.wake_lock_timeout=10000[/size]
Edit Quick Menu:
settings put secure sysui_qs_tiles "Wifi,Location,SilentMode,Flashlight,Bluetooth,MobileData,PowerSaving,UltraPowerSaving,RotationLock,AirplaneMode,DormantMode,WifiHotspot,Nfc,Sync,SFinder"
Tried to add SmartStay,MultiWindow,PersonalMode,AllShareCast but no tiles in Framework res.
I disabled a lot of bloatware using the pm disable command (too much for you I guess). Also in attachment.
Some hidden Activities you can find with QuickShortcutMaker (playstore):
- GPS Satellites (search for gps)
- SoundAlive Equalizer (search for alive) EDIT: not working for other than gmusic. SA will bypass for others. Need edit in SoundAlive apk.
Cheers
EDIT 19-01-2016: Added stock Camera from J7 which produces better quality picture.
Code:
- download SamsungCamera4_ESS_J7.apk
- adb push SamsungCamera4_ESS_J7.apk /sdcard/
- adb shell
- su
- mount -o remount,rw /system
- cd /system/priv-app/SamsungCamera4_ESS
- mv SamsungCamera4_ESS.apk SamsungCamera4_ESS.apk.J5
- mv oat oat.J5
- cp /sdcard/SamsungCamera4_ESS_J7.apk .
- chmod 644 SamsungCamera4_ESS_J7.apk
- stop
- sync
- reboot
After reboot start camera and clear settings first! Then do camera settings.
Remove Knox
To disable all Samsung Knox packages:
Code:
for p in $(pm list packages |grep nox) ; do echo $p | busybox awk -F ":" '{print $2}' | xargs pm disable ; done
pm disable com.samsung.klmsagent
pm disable com.policydm
To remove all Samsung Knox packages:
Code:
for p in $(pm list packages -f|grep nox) ; do echo $p | busybox awk -F "/" '{print "/"$2"/"$3"/"$4}' | xargs rm -r ; done
To remove all data from disabled packages:
Code:
for p in $(pm list packages -d) ; do echo $p | busybox awk -F ':' '{print "/data/data/" $2}' | xargs rm -r ; done
Disable Knox (hidden) services
Code:
stop
mv /system/container /system/container.OFF
rm /data/dal*/arm/*
sync
reboot
EDIT 09-02-2017: Added /etc/mixer-paths.xml for increased volume on speaker, headphone and handset speaker.
Finding the proper loudness values can be done from the shell command line with tinymix command.
example:
Code:
tinymix (see all audio objects)
tinymix "RX1 Digital Volume" (see all possible values for this audio object)
tinymix "RX1 Digital Volume" 86
Note that a value of 83 represents 0dB.
Some extra settings for system, global and secure db (/data/system/users/0/settings_system.xml etc)
Find yours with settings list system, global or secure. These settings are Android version (API23 in this case)
related. Beware of that when copying it from xda or anywhere else.
Code:
settings put system enable_mtp_settings 1
settings put system intelligent_sleep_mode 1
settings put system white_lockscreen_statusbar 0
#settings put system white_lockscreen_wallpaper 1
settings put system lockscreen_wallpaper_transparent 0 (1=hard to see statusbar)
settings put system adaptive_fast_charging 1
settings put system simple_status_bar 0
settings put system data_powersaving_mode 0
settings put system data_usage_on_lockscreen_sim1 1
settings put system min_minder 1
settings put system csc_pref_camera_quality_key 0
settings put system csc_pref_camera_videoquality_key 0
settings put system csc_pref_camera_burstshot_key 1
settings put system csc_pref_camera_autonightdetection_key 1
settings put system csc_pref_camera_forced_shuttersound_key 0
settings put global ble_scan_always_enabled 0
settings put global bluetooth_discoverable_timeout 120
settings put global wifi_watchdog_poor_network_test_enabled 0
settings put global wifi_scan_always_enabled 0 (0)
settings put global wifi_idle_ms 1800000 (def is 900000=15min)
settings put global wifi_suspend_optimizations_enabled 1
settings put global wifi_networks_available_notification_on 0
settings put global wifi_max_dhcp_retry_count 3
settings put global wifi_mobile_data_transition_wakelock_timeout_ms 5000
#settings put global heads_up_snooze_length_ms 2000
#settings delete global heads_up_snooze_length_ms
settings put global heads_up_notifications_enabled 1
settings put global low_power_back_data_off 1 (drop data conn if low pwr
settings put global low_power_trigger_level 5 (5% batt is low pwr)
settings put secure button_key_light 0
settings put secure long_press_timeout 300
settings put secure location_mode 2
#0 = LOCATION_MODE_OFF
#1 = LOCATION_MODE_SENSORS_ONLY
#2 = LOCATION_MODE_BATTERY_SAVING
#3 = LOCATION_MODE_HIGH_ACCURACY
PS: Don't quote this post. Is is considered useless and annoying.
PS2: more Samsung MM mods/tweaks can be found in this xda thread.
PS3: added meizu camera mod apk with very good image quality (Smaller version here https://forum.xda-developers.com/moto-g/themes-apps/camera-app-t3283962)
tweakradje said:
Here are a few tricks that work with stock ROM. For some you need to change /system/build.prop, some are Samsung CSC features with the /system/csc/feauture.xml file or Android system settings db.
For some I cannot remember if it was already visible without tweaks. Anyway lets go
I put feature.xml (with a lot of nonworking csc features too!!!), build.prop and disabled_services.txt in attachement.
Reboot after putting new feature.xml in /system/csc folder. Permissions of the file: root.root 644, same for build.prop
Call Recording: <CscFeature_VoiceCall_ConfigRecording>RecordingAllowed</CscFeature_VoiceCall_ConfigRecording>
Call blocking: <CscFeature_Setting_EnableMenuBlockCallMsg>TRUE</CscFeature_Setting_EnableMenuBlockCallMsg>
Voice Recorder Quality: <CscFeature_VoiceRecorder_SupportRecordingQualitySetting>TRUE</CscFeature_VoiceRecorder_SupportRecordingQualitySetting>
Camera Shutter Sound:
build.prop ro.camera.sound.forced=0
<CscFeature_Camera_ShutterSoundMenu>TRUE</CscFeature_Camera_ShutterSoundMenu>
Data Usage on Quickpanel: <CscFeature_SystemUI_SupportDataUsageViewOnQuickPanel>TRUE</CscFeature_SystemUI_SupportDataUsageViewOnQuickPanel>
Multi Window: (sort of working, use recent apps button to see effect, landscape and portrait)
build.prop persist.sys.debug.multi_window=1
<CscFeature_Framework_ConfigMultiWindowTrayBarFunction>TRUE</CscFeature_Framework_ConfigMultiWindowTrayBarFunction>
I disabled a lot of bloatware using the pm disable command (too much for you I guess). Also in attachement.
Cheers
Click to expand...
Click to collapse
Cool, but when multi window is enabled, don.t you get the scroll bug in recents apps? (especially in the bottom part of the screen)
Yes the bug is there. Pull down notifications corrects it shortly. Multi Window on small screens is not my thing anyway.
Can I enable multi-window in J500F the same way? Would love to have two apps on screen simultaneously.
Perhaps, what's the scroll bug?
Added information of how to increase volume on different audio outputs with /etc/mixer-paths.xml and test it with the tinymix command.
tweakradje said:
Added information of how to increase volume on different audio outputs with /etc/mixer-paths.xml and test it with the tinymix command.
Click to expand...
Click to collapse
tinymix "RX1 Digital Volume" 86 gives me tinymix is not executable.
chmod 755 does not return error but still not executable.
putting <ctl name="RX1/2/3 Digital Volume" value="86"/> or even 90 in the mixer_paths.xml and reboot does't increase the volume.
I'm missing something ?
What ROM are you on then? I have stock.
Dude I don't understand how to use this. Please help me. I really want these features.
Added my latest build.prop and init.qcom.post_boot.sh
Antutu score with stock ROM and Cherry Kernel 3.10.94
Hi how to remove "system unauthorised action "when i'am instal custom kernel on stockrom
adf18224 said:
Hi how to remove "system unauthorised action "when i'am instal custom kernel on stockrom
Click to expand...
Click to collapse
The notification or smart manager alert?
Wizardlysense said:
The notification or smart manager alert?
Click to expand...
Click to collapse
Smart manager sir