GravityBox - tweak box - Xposed module for devices running Android 4.1/4.2/4.3 ROMs
First of all I would like to say I am not the creator of this I am just sharing what I have found I will try and keep the thread updated when new versions are released. All credits should be given to the mod who has made this xposed framework module.
READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER
After countless hours of coding and searching for proper entry points
to inject my code to incorporate fixes and mods, here it is:
GravityBox - Xposed module targeted for devices running Android 4.1/4.2/4.3
Originally, this module was intended for MTK6589 devices. Later on, it was adjusted to support other - non-MTK devices - as well.
The app utilizes amazing Xposed framework coded by recognized
developer rovo89 which, briefly, provides interface for injecting code into any app, including system services.
This means, it allows to modify behaviour of applications and system services at run-time. No need to
hack apps the usual way by decompiling, hacking and recompiling, anymore. One of the biggest advantages of GravityBox is that it is not bound
to any specific device. Actually, it should run on any device having vanilla Android 4.1/4.2/4.3 (ROM close enough to AOSP).
This project wouldn't be possible without rovo's Xposed framework, so huge kudos to him.
GravityBox provides 2 main groups of features:
Fixes - help to fight typical MTK6589 bugs like:
--- Date&Time settings crash
--- Caller ID mismatch
--- Split conversation in messaging
--- Wakelock in calendar app periodically turning on the screen
--- Waelock in messaging app turning on the screen every time new message arrives
--- Missing TTS settings in Language&Input
--- Missing extended developer options
Mods - the set of additional useful features that make using the system more easy and fun
--- CyanogenMod Pie controls
--- Expanded Desktop
--- Statusbar QuickSettings tile management with tile reordering
--- Lockscreen targets
--- Statusbar color and transparency
--- Statusbar Brightness Control
--- Statusbar icon colors
--- Additional QuickSettings tiles:
------- Sync on/off, WiFi AP on/off, GravityBox shortcut, Torch, Network mode (2G/3G/2G+3G switch), Sleep, QuickRecord,
QuickApp, GPS on/off, Ringer mode, Volume tile
--- Quick pulldown - switches to QuickSettings when status bar is pulled down near edges
--- Auto-switch to QuickSettings when there are no notifications
--- Center clock in statusbar
--- Battery indicator style
--- Navigation bar tweaks
--- Low battery warning policy
--- Disable LED flashing when battery low
--- Disable LED while charging
--- Auto-hiding of signal icons for empty SIM Slots
--- Advanced power-off menu (reboot, recovery)
--- Volume key cursor control
--- Skip tracks by volume key long-press while screen off (thanks to rovo89)
--- More volume levels for music stream
--- Option to control safe headset media volume
--- Button for clearing all recent tasks at once
--- Fullscreen caller photo
--- CRT screen off animation
--- Minimal brightness setting
--- Autobrihtness levels adjustment
--- Lockscreen tweaks - show widgets maximized, lockscreen background style (color fill, custom image)
--- Lockscreen rotation
--- Phone tweaks - flip action, disable vibrate on call connect
--- Hardware key actions - menu long-press/double-tap, back long-press, home long-press
--- MasterKey vulnerabilities patched (thanks to @Tungstwenty
--- Dithered Holo background
--- Option to use solid black Holo background
--- Expandable volume panel
--- Option to unlink ringtone and notifications volumes
--- Notification drawer style (background color, image for portait/landscape, transparency)
--- Button backlight modes (default, disabled, always on while screen is on)
--- Button backlight notifications (for devices that lack Notification LED)
... more to come.
- this module is designed to run on vanilla or close-to-vanilla Android 4.1, 4.2 and 4.3 (AOSP)
- supports majority of MTK6589, MTK6577, MTK8389 devices
- supports "Google devices" like Nexus, HTC One Google play edition, and others running vanilla Android 4.1/4.2/4.3
- Samsung Touchwiz, HTC Sense, MIUI, LeWa, etc. are NOT supported. It is not guaranteed this module will work on these at all so try at your own risk. This module is simply too complex to support all kind of ROM brands that were vastly modified by vendors.
- DO NOT USE WITH CUSTOM ROMS LIKE CM,AOSPA,ROOTBOX,AOKP,SLIM, ETC... IT MAKES NO SENSE AND CAN CAUSE CONFLICTS AND UNEXPECTED BEHAVIOUR
- I will not implement any exceptions that will adapt this module to a specific custom ROM. Please, do understand, it is unmanageable.
- I will not provide any support for devices violating these compatibility rules
To use this module, the following conditions must be met
- You have a device running Android 4.1/4.2/4.3 that's based on AOSP (vanilla or close-to-vanilla Android)
- ROM must be rooted (XposedInstaller requires root to be able to install framework into system)
- You have working custom recovery allowing you to make a backup before installing Xposed framework
GravityBox has been developed and tested on THL W8 5" XHDPI device (MTK6589)
If you are using my GravityMod2 ROM, don't follow these instructions to update!
There's a flashable ZIP for updating GravityBox in GravityMod2 thread!
These instructions are only for those not running GravityMod2 ROM!
1) Backup your current ROM in custom recovery. I am serious. Don't skip this step.
2) Get the Xposed installer from Download section from Xposed official thread (the latest version is typically available at this link: http://dl.xposed.info/latest.apk
3) Install and run Xposed installer and follow the instructions to activate Xposed framework
4) Reboot. If device doesn't boot that means that the Xposed framework is not compatible with ROM you are currently
running. You don't need to continue with the next steps. You will have to restore your ROM from backup.
5) Download, GravityBox.apk attached at the end of this post, rename it to GravityBox.apk and install it
6) Make sure GravityBox app is installed to internal memory. If it was installed to phone storage or external storage,
move it to the internal memory, first
7) Run Xposed installer, go to Modules menu and activate GravityBox by checking the checkbox
9) Launch GravityBox from app drawer or from Xposed installer and set options as desired
If you experience problems with certain feature, provide the full-detailed info that can help me
to reproduce the bug and attach debug.log file you'll find in /data/xposed directory on your phone.
In case you experience SystemUI crashes or other apps Force Closing, or device soft reboots, attach logcat from time
crash occurs. (use adb logcat *:E or your favorite logcat app from Play Store).
Please, don't attach big logs. Only the portion where error is clearly seen.
Disable all other xposed modules before reproducing bug to make sure it is really GravityBox related
Remember, this app was developed and tested on one particular MTK6589 device so it is not guaranteed that
it will work flawlessly on yours.
Volunteers are welcome to translate GravityBox to other languages.
Simply download this file: https://github.com/C3C0/GravityBox/r...es/strings.xml
Use Notepad++ to edit strings and then send me edited file so I can include translations into next release.
GravityBox is opensource. Sources are available in my gihub: https://github.com/C3C0/GravityBox
If you're a dev and have some ideas for additional features, feel free to fork it, work on it
and send the pull requests.
for his code contributions to the project
- rovo89 for his ultimate Xposed framework and "Volume keys to skip track" mod
- peptonib for starting me up with this project
- THL W8 owners for providing support and feedback
- CyanogenMod project
- ParanoidAndroid project
- SlimBean, RootBox, AOKP projects
- Sergey Margaritov for ColorPickerPreference
for MasterKey vulnerabilities patch
- All those who provided translations for different languages (Mr.Premise, peptonib, kidmar, ch-vox, romashko, Indiant, lelemm, oicirbaf, unavix, LuHash, ...)
- and finally, all those who keep the project alive by supporting me via donations (you know who you are)
Sent from my Nexus 4 using xda premium