[APP][JB][XPOSED] GravityBox v3.7.2 - tweak box for Android 4.1/4.2/4.3 [30/04/2017]

7,678 posts
Thanks Meter: 24,335
By C3C076, Recognized Contributor on 8th June 2013, 11:45 PM
Post Reply Email Thread
GravityBox - tweak box - Xposed module for devices running Android 4.1/4.2/4.3 ROMs
Version 3.7.2 [JellyBean]

Version for KitKat is available in this thread:


After countless hours of coding and searching for proper entry points to inject code to incorporate fixes and mods, here it is:
GravityBox - a complex Xposed module targeted for devices running Android 4.1/4.2/4.3, which turns vanilla ROM into
feature-packed "non-flashing" custom ROM.

Originally, this module was designed for MTK6589 devices which lack custom ROMs built from source due to MediaTek closed-source policy.
Later on, it was adjusted to support other (non-MTK) devices running vanilla or close-to-vanilla AOSP ROMs.

The app utilizes amazing Xposed framework coded by recognized
developer rovo89 which, briefly, provides interface for injecting code into any app, including system services allowing modifications of applications and system services at run-time. 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.

Feature highlight
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)
--- Navigation bar ring targets
--- GravityBox Actions (shortcuts)
--- Lockscreen "see through"
--- Smart Radio
--- Notification control (allows controlling notification lights/sounds/vibrations on per-app basis)
--- Ascending (increasing) ring tone
... more to come

Some words about GB's main concept. One thing I didn't like about xposed modules was that it was always necessary to reboot a device after making a change to some option. Since GB's main concept was to turn MTK devices running stock ROM into something that's close enough to a feature-packed custom ROM, I had to take a decision - for it to be as much comfortable as possible and to really behave like a custom ROM, I had to design it to support most of the preference changes to be done on the fly without needing to reboot a device. While this sounds nice, it also brings couple of "drawbacks". For changes to be made on the fly, it is necessary to make some preparations when device starts. This means, even if you don't use the particular feature, the necessary preparation/modification is already there and is waiting for the user to come and change that option.
This means it is not possible to "completely deactivate" particular feature if it causes trouble on your device or if you installed GB because you want to use only one particular feature you can't find elsewhere.
This results in issues on ROMs/devices that have parts that are diverting from default Android implementation too much, or are running heavily modified custom ROMs.
If you experience weird issues after installing GB, even if you didn't activate a particular feature, it is not because of GB is broken, it is because it is not compatible with your ROM. It is very similar as if you installed ROM built from source for Nexus to some Xperia device - it won't work.

Next thing, GB is a complex module and is not suitable for 1 purpose scenario. This means, if you are running custom ROM built from source (CM, PAC, ...), and you are missing a certain feature, your best option is to go ask creators of those ROMs to implement those additional features. Supplementing missing features on well-known custom ROMs built from source by installing xposed modules (especially complex ones) is definitely not a good way to go and can cause more trouble than good.

And finally, the last. GB being a complex module, it shouldn't be combined with other complex modules often racing for the same goal. They can conflict/fight on the same playground and there's no way you can deterministically say which one's going to win.
They can even lose both.

So in summary:
- 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.
- 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:

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

8) Reboot

9) Launch GravityBox from app drawer or from Xposed installer and set options as desired

- Xposed framework install plus gravity box module overview (thanks to & Marshall Williams)
- Gravity Box - What is it and How to install it (thanks to @D3VI0US)

Reporting bugs
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 either:
/data/xposed directory in case of Xposed Installer version prior to 2.3
/data/data/ in case of XposedInstaller 2.3+

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.

Multilanguage support
Volunteers are welcome to translate GravityBox to other languages.
Simply download this file:
Use Notepad++ to edit strings and then send me edited file so I can include translations into next release.

Source code
GravityBox is opensource. Sources are available in my gihub:
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.

Copyright notice

Support development
Coding, maintaining and supporting this project costs me a lot of my precious time. If you find this project useful, you are welcome to support its development via donation. This form of support is meant to compensate for my time dedicated to the community + eventually, help me to afford newer device to keep up with AOSP evolution thus providing continuous support as Android evolves. Thanks!

Info about premium features and PayPal transaction ID verification system
1) Those who supported development via PayPal donation can use their PayPal transaction ID to unlock premium features.
As of v2.9.5, there's one premium feature: Backup/restore of GB settings.

2) If you contributed to the project by providing translations, code fragments, or by any other way
you can apply for a free transaction ID by contacting me via PM.

3) Be aware that there's a system that can identify potential transaction ID
abuse. E.g. when one ID is being used by more users. Such IDs will get blocked automatically.
This can also happen when you previously exposed your ID in public forum and other users took
advantage of it. If this is the case, contact me via PM so I can issue new, special ID.
In case you own more devices, you can use one transaction ID on up to 10 of them.

4) If you are using your own custom builds of GB for personal use, you will get hash mismatch
upon verifying your ID as verification system accepts requests only from official releases of GB.
If you want to be able to verify IDs with your custom build, contact me via PM so I can setup
a special hash for your build.
If you are using a custom build that you provide for broader group of users (e.g. in a custom ROM),
it is necessary to ask for new hash everytime your new custom version is released for public use.
These rules are based on mutual trust so please, do not violate them.

- @bgcngm for his code contributions to the project
- @MohammadAG for Xperia specific 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, OmniROM projects
- Sergey Margaritov for ColorPickerPreference
- @Tungstwenty for MasterKey vulnerabilities patch
- All those who provided translations for different languages (Mr.Premise, peptonib, kidmar, ch-vox, romashko, Indiant, lelemm, oicirbaf, unavix, LuHash, WedyDQ10, mp3comanche, awaaas, liveasx, samsonbear, Eric850130, xtrem007, benjoe1, asmb111, ...)
- and finally, all those who keep the project alive by supporting me via donations (you know who you are)


XDA:DevDB Information
GravityBox [JB] Xposed Framework Module, Tool/Utility for the Android General

C3C076, bgcngm
Source Code:

Version Information
Status: Stable
Current Stable Version: 3.7.2
Stable Release Date: 2017-04-30

Created 2013-11-30
Last Updated 2017-04-30
Attached Thumbnails
Click image for larger version

Name:	banner1.jpg
Views:	245491
Size:	54.4 KB
ID:	2387535   Click image for larger version

Name:	banner2.png
Views:	318910
Size:	235.2 KB
ID:	2387536   Click image for larger version

Name:	banner3.jpg
Views:	197725
Size:	70.2 KB
ID:	2387537   Click image for larger version

Name:	banner4.jpg
Views:	132699
Size:	69.4 KB
ID:	2387538  
Attached Files
File Type: apk GravityBox_2.7.6.apk - [Click for QR Code] (1.31 MB, 465286 views)
The Following 1,214 Users Say Thank You to C3C076 For This Useful Post: [ View ] Gift C3C076 Ad-Free
8th June 2013, 11:45 PM |#2  
C3C076's Avatar
OP Recognized Contributor
Flag Bratislava
Thanks Meter: 24,335
Donate to Me
Changelog 3.7.2 - 30/04/2017
- Download Progress Bar: implemented extensions from SBDP module
--- added option for progress bar animation
--- added option for centered progress bar
--- added option for progress bar thickness
--- added option for edge margin
--- added support for multiple concurrent progress bar notifications
--- keeps track of all available progress bar notifications and switches between them
--- added support for clearable notifications containing progress bar
--- added logic for auto-hiding progress of idle notifications
--- added option for sound notification
--- added option for playing sound only when screen is off
- Made screenshot faster by introducing dynamic context-aware delay
- Adjusted for compatibility with the latest GravityBox Unlocker v1.4.3
--- improved reliability of license validation
--- !!! won't work with older versions of the Unlocker !!!
- Updated Chinese (Simplified) translations (thanks to liveasx)
- Updated Hungarian translations (thanks to benjoe1)

Complete commit history for 3.7.1->3.7.2
Attached Files
File Type: apk GravityBox_JellyBean_3.7.2.apk - [Click for QR Code] (4.66 MB, 13072 views)
The Following 198 Users Say Thank You to C3C076 For This Useful Post: [ View ] Gift C3C076 Ad-Free
9th June 2013, 04:53 AM |#3  
NZ-Simplicity's Avatar
Senior Member
Flag Christchurch
Thanks Meter: 22
Originally Posted by C3C076

2) Get the Xposed installer (XposedInstaller_2.1.x.apk) from Xposed official thread
3) Install and run Xposed installer and follow the instructions to activate Xposed framework

I am presuming that because I already have v3.0 of gravitymod installed and have gravitybox in my system menu that I do not need to do the above
The Following 5 Users Say Thank You to NZ-Simplicity For This Useful Post: [ View ] Gift NZ-Simplicity Ad-Free
9th June 2013, 06:47 AM |#4  
C3C076's Avatar
OP Recognized Contributor
Flag Bratislava
Thanks Meter: 24,335
Donate to Me
No. In gm2, that's already integrated.
You don't need to install anything while on gm2 not even gravitybox.apk.
This would replace one installed in the system already and it will stop working.
This thread is mainly for those not running gm2.
The Following 31 Users Say Thank You to C3C076 For This Useful Post: [ View ] Gift C3C076 Ad-Free
9th June 2013, 09:57 PM |#5  
ulvergr's Avatar
Senior Member
Flag athens
Thanks Meter: 31
I've just installed it succesfully on my zte v987(4.2.1),great work,i hope more mods to come soon
can you add to wake up the screen with the volume buttons?

Sent from my ZTE V987 using xda app-developers app
The Following 3 Users Say Thank You to ulvergr For This Useful Post: [ View ] Gift ulvergr Ad-Free
11th June 2013, 02:47 PM |#6  
C3C076's Avatar
OP Recognized Contributor
Flag Bratislava
Thanks Meter: 24,335
Donate to Me
New version up.

Changelog 1.0.2 - 11/06.2013
- changed versioning
- added Slovak translations
- added Spanish translations (thanks to @peptonib )
- added Italian translations (thanks to @kidmar )
The Following 26 Users Say Thank You to C3C076 For This Useful Post: [ View ] Gift C3C076 Ad-Free
11th June 2013, 06:54 PM |#7  
akash akya's Avatar
Senior Member
Flag Bangalore
Thanks Meter: 1,369
Though i dont have mt6589 device.. im happy to see some one working hard for MTK devices....
Keep going... :thumbup:

Sent from my IRIS_501 using xda premium
The Following 4 Users Say Thank You to akash akya For This Useful Post: [ View ] Gift akash akya Ad-Free
13th June 2013, 03:23 PM |#8  
bixirulo's Avatar
Senior Member
Thanks Meter: 32
Thumbs up
Originally Posted by ulvergr

I've just installed it succesfully on my zte v987(4.2.1),great work,i hope more mods to come soon
can you add to wake up the screen with the volume buttons?

Yes! It would be very useful. It works really nice on zopo 810/H7500+. Thanks for your job!
14th June 2013, 10:08 AM |#9  
angekcc's Avatar
Senior Member
Thanks Meter: 31
Very good application!

It works perfect in phone Miz Z5 and fix for calendar works perfect. It was something that irritated me ...

Now we just need to have the transparent statusbar.

Thank you very much for this great application

Edit: you could remove the "R" of roaning a fix?
The Following 2 Users Say Thank You to angekcc For This Useful Post: [ View ] Gift angekcc Ad-Free
14th June 2013, 10:53 AM |#10  
C3C076's Avatar
OP Recognized Contributor
Flag Bratislava
Thanks Meter: 24,335
Donate to Me
Stay tuned for more.
Coming soon: QuickSettings tile management + 3 additional tiles implemented: Sync on/off, Wifi hotspot on/off and GravityBox shortcut.
Attached Thumbnails
Click image for larger version

Name:	Screenshot_2013-06-13-15-36-04.jpg
Views:	29071
Size:	25.8 KB
ID:	2042164   Click image for larger version

Name:	Screenshot_2013-06-13-15-36-12.jpg
Views:	29245
Size:	16.6 KB
ID:	2042165  
The Following 19 Users Say Thank You to C3C076 For This Useful Post: [ View ] Gift C3C076 Ad-Free
14th June 2013, 04:46 PM |#11  
dalet11's Avatar
Senior Member
Flag Israel
Thanks Meter: 2
Donate to Me
can you add option for CRT on\off animation?

The Following User Says Thank You to dalet11 For This Useful Post: [ View ] Gift dalet11 Ad-Free
Post Reply Subscribe to Thread

mtk6589 customisation, mtk6589 gravitymod gravitybox xposed, tweak box

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes