[APP][MM][XPOSED] GravityBox v6.6.0 - tweak box for Android 6 [23/09/2018]

Search This thread

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
GravityBox - all-in-one tweak box - Xposed module for devices running AOSP Marshmallow
Version 6.6.0 [Marshmallow]

Version for JellyBean is available in this thread: http://xdaforums.com/xposed/modules/app-gravitybox-v3-1-4-tweak-box-android-t2316070
Version for KitKat is available in this thread: http://xdaforums.com/xposed/modules/app-gravitybox-v3-1-5-tweak-box-android-t2554049
Version for Lollipop is available in this thread: http://xdaforums.com/xposed/modules/app-gravitybox-v5-0-0alpha-tweak-box-t3037566

READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER
Version for Marshmalow has been tested on Nexus 5 and thus should be compatible with all the Nexus devices running stock Google system.

Introduction
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 6 (ROM close enough to AOSP).
This project wouldn't be possible without rovo's Xposed framework, so huge kudos to him.

Feature highlight
--- CyanogenMod Pie controls
--- Expanded Desktop
--- Statusbar QuickSettings tile management with additional tiles and reordering /* work in progress */
--- Statusbar icon coloring
--- Statusbar Brightness Control
--- Center clock in statusbar
--- Battery indicator style
--- Navigation bar tweaks including cursor control keys
--- Low battery warning policy
--- Disable LED flashing when battery low
--- Disable LED while charging
--- 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
--- Minimal brightness setting
--- Autobrihtness levels adjustment
--- Lockscreen tweaks
--- Hardware/navigation key actions
--- Notification drawer style (background color, image for portait/landscape, transparency)
--- Button backlight modes (default, disabled, always on while screen is on)
--- Dialer (Phone) tweaks
--- Google Launcher tweaks
--- Screen recording
--- GravityBox Actions - interface for 3rd party apps
--- Smart Radio
--- Notification control (per-app notification LED/sounds/vibrations)
--- Ascending ring tone
... more to come

Compatibility
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 6 (AOSP)
- supports "Google devices" like Nexus, HTC One Google play edition, and others running vanilla Android 6
- supports OnePlus 3T running OxygenOS 3.5
- Samsung Touchwiz, HTC Sense, MIUI, LeWa, Xperia, Lenovo, 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,CATACLYSM,OMNI AND THEIR OTHER CLONES... 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

As is detailed in the OP, GravityBox is designed to be used with stock, vanilla AOSP ROMs, not OEM and custom ROMs. In other words, Google Play Edition and Nexus devices. All OEM ROMs (TouchWiz, Sense, Xperia, Moto, etc.), and custom ROMs (CyanogenMod, ParanoidAndroid, etc.) differ significantly in their code base from pure AOSP. And as most of these ROMs are closed source, and the developer does not have access to all the devices, it means that GravityBox is not designed for, or tested on, these devices and ROMs.

Even though the Moto devices look like stock Android, they are as much custom under-the-hood as TouchWiz or Sense. It's just that Motorola decided to implement a skin that resembles stock Android, rather than a custom skin like Samsung has done. But the changes to the core code mean that many of GravityBox's features will not work, and actually do cause some well-known bugs. The same goes for ParanoidAndroid, there are just too many changes to the core code for GB to be reliable.

If you choose to use GravityBox on a ROM it was never intended to be used with, then you do so at your own risk, and without any support. You should always have a good nandroid backup and be familiar with ADB and Fastboot. At any time, a ROM update or GravityBox update may cause any/all GravityBox features to break, and worst case, send your device into a bootloop. This is just an unfortunate reality of using a mod on a device it wasn't intended to be used on. Any user who wishes to improve or fix bugs on their unsupported ROM is more than welcome to download the source code for GravityBox (links to Git in the OP) and work on debugging and fixing the bugs on their own.

Prerequisites
To use this module, the following conditions must be met
- You have a device running Android 6 that's based on AOSP (vanilla or close-to-vanilla Android)
- Xposed Framework v78 or later

GravityBox Marshmallow version has been developed and tested on Nexus 5

Installation
1) Follow instructions for installation of Xposed Framework.

2) Download, GravityBox APK from the second post and install it.
Alternatively, you can download the latest GravityBox directly from Xposed Installer (search for GravityBox [MM] module).

3) Make sure GravityBox app is installed into internal memory. If it was installed into phone storage or external storage,
move it into the internal memory first (applies only to devices having additional or external storage)

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

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

Documentation
Thanks to @cadarn07, there's a comprehensive and searchable User Guide listing
all of the GravityBox features. It's an EverNote document located at https://www.evernote.com/pub/cadarn07/gravitybox

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:
/data/data/de.robv.android.xposed.installer/log

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 device so it is not guaranteed that
it will work flawlessly on yours.


Click here tor ead additional, more detailed info on Reporting bugs provided by @trjlive

Multilanguage support
Volunteers are welcome to translate GravityBox to other languages.
Simply download this file: https://github.com/GravityBox/GravityBox/raw/marshmallow/res/values/strings.xml
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: https://github.com/GravityBox/GravityBox/tree/marshmallow
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
https://github.com/GravityBox/GravityBox/blob/marshmallow/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.

Credits
- @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
- @Tungstwenty for Fake ID vulnerability patch
- @simmac for app icon
- @romracer for Motorola specific code contributions
- THL W8 owners for providing support and feedback
- CyanogenMod project
- ParanoidAndroid project
- SlimBean, RootBox, AOKP, OmniROM projects
- Sergey Margaritov for ColorPickerPreference
- 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)

Changelog
https://github.com/GravityBox/GravityBox/blob/marshmallow/CHANGELOG.txt

XDA:DevDB Information
GravityBox [MM] Xposed Framework Module, Xposed for the Xposed Framework

Contributors
C3C076
Source Code: https://github.com/GravityBox/GravityBox/tree/marshmallow

Xposed Package Name: com.ceco.marshmallow.gravitybox

Version Information
Status: Stable
Current Stable Version: 6.6.0
Stable Release Date: 2018-09-23

Created 2015-11-17
Last Updated 2018-09-23
 

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
Changelog 6.6.0 - 23/09/2018
- QuietHours: additional enhancements and redesign
--- rules for ligts/vibrations/sounds/ringer whitelist can now be set for each time range independently
--- manual mode has its own set of rules that are independent of automatic time ranges
--- initial ringer whitelist for newly created time range is inherited from manual mode settings
--- added option for controlling current mode directly from the QuietHours settings
--- reorganized settings
--- !!! data structure changes render existing time ranges incompatible - need to be reconfigured !!!
- Updated Ukrainian translations (thanks to burunduk)
- Updated Turkish translations (thanks to Fatih Firinci)
- Updated Russian translations (thanks to gaich)

Complete commit history for 6.5.3->6.6.0

Important info about compatibility with OxygenOS 3.5 running on OnePlus 3T

QuickSettings management
OxygenOS 3.5 has quick settings ported from Nougat which makes things far too complicated.
I put a lot of efforts into adjusting quick settings management in GravityBox but there are still
some limitations that would require far more work and time to address. This is as best as we can get at this moment.
I am probably not planning to put additional efforts into it since Nougat is going to drop to OP3T soon.
Limitations:
- max 9 tiles at the same time allowed
- tiles per row option is not available
- scaling correction is not available
- tiles still support visibility policy settings (e.g. to not show tile on secured lock screen)
but due to nature of quick settings panel, tiles can't be rearranged to fill-in space left by hidden tiles.
- dual mode is not supported
- when QS management is enabled in GravityBox, edit button located in QS panel is linked to GravityBox QS management
instead of system's QS editor (it can't coexist together with GB's QS management)
- dataswitch tile disappears unexpectedly when tiles are reconfigured. Reboot brings it back.

Battery style
OxygenOS does not have stock battery with percentage so setting this style in GravityBox has no effect.

Navigation keys action for capactitive buttons
Home key double tap is strangely linked to menu single-tap action. So if you want
to set doubletap action on home key, make sure to set the same value to menu single-press

Power menu
OxygenOS has completely different power menu which means advanced power menu features in GravityBox are not available.

Fingerprint launcher
When fingerprint sensor is in listening state on OP3T, it disables standard home button functionality.
Workaround is to assign "Go Home" GravityBox action as fingeprint sensor quick-tap.
GravityBox will set this action on quick-tap option automatically in case there is none assigned yet.

OnePlus3T running alternative AOSP ROM
If OxygenOS 3.5 on your device has been reflashed by AOSP ROM, make sure to enable "Force AOSP" option in About section
 

Attachments

  • GravityBox_Marshmallow_6.6.0.apk
    6.4 MB · Views: 7,327
Last edited:

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
What's missing in version for Marshmallow compared to Lollipop
- No Music tile.
- RingerMode tile has been changed to allow only ringer specific modes: sound/vibrate/sound&vibrate. It won't allow changing Do not disturb modes, but it's still capable of indicating current DND mode. Use stock tile for managing Do not disturb modes.
- Heads up features are limited since it is no longer a standalone system window but rather standard notification which can show in special mode where notification panel is invisible
- No status bar notification ticker features as support for ticker has been completely dropped in Marshmallow.

QuickSettings management and SystemUI tuner
Avoid using SystemUI tuner for quick settings when you have QS management enabled in GravityBox.
SystemUI tuner QS management will crash as it doesn't know about tiles coming from GB.
Nothing to be fixed from GB side.

Settings from Lollipop
It is possible to restore backup of the settings made in LP version of GravityBox.

Full history of changes for transition from LP to MM
https://github.com/GravityBox/GravityBox/compare/v5.3.2_lp...v6.0.1_mm
 
Last edited:

xByt3z

Senior Member
Aug 3, 2013
96
73
Just tested on a Nexus 6 running the latest stock firmware with SuperSU and Xposed v78. Runs perfect. Thanks for this super speedy update for MM!

Been here since JB and yet always delivering amazing content. If I notice any bugs I'll make sure to report it.

Although I do wonder what the camera and microphone permission are for, my friend asked me this too.
It might have been stated somewhere but I can't find it. Could someone please explain?
 

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
Just tested on a Nexus 6 running the latest stock firmware with SuperSU and Xposed v78. Runs perfect. Thanks for this super speedy update for MM!

Been here since JB and yet always delivering amazing content. If I notice any bugs I'll make sure to report it.

Although I do wonder what the camera and microphone permission are for, my friend asked me this too.
It might have been stated somewhere but I can't find it. Could someone please explain?
I will put info about the permissions in the first post. But I need to take some rest first.
Briefly, camera is needed for GB Torch and microphone for quick record tile.
 
  • Like
Reactions: Oszero Casper

fbf2201

Senior Member
Apr 8, 2013
698
388
It works so far, but my PayPal transaction ID is not being recognized. uploadfromtaptalk1447784467383.png
 
  • Like
Reactions: berryprime

stivelio

Senior Member
Jul 23, 2010
281
17
Update - activated and rebooted again and it works now :)

Getting framework not responding message trying to open GB after installing, activating and reboot.
 
Last edited:

NovaSlim

Senior Member
May 25, 2013
1,815
2,642
Columbus,Indiana
If you seen this screen

(Hard) Reboot fixes it!

Update: Pie and Fast unlock works great on my N6P. Thank you so much!
 

Attachments

  • Screenshot_20151117-133506.png
    Screenshot_20151117-133506.png
    61.2 KB · Views: 2,047
  • Screenshot_20151117-134003.png
    Screenshot_20151117-134003.png
    178.9 KB · Views: 2,025
  • Screenshot_20151117-135306.jpg
    Screenshot_20151117-135306.jpg
    151.8 KB · Views: 1,983
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 340
    GravityBox - all-in-one tweak box - Xposed module for devices running AOSP Marshmallow
    Version 6.6.0 [Marshmallow]

    Version for JellyBean is available in this thread: http://xdaforums.com/xposed/modules/app-gravitybox-v3-1-4-tweak-box-android-t2316070
    Version for KitKat is available in this thread: http://xdaforums.com/xposed/modules/app-gravitybox-v3-1-5-tweak-box-android-t2554049
    Version for Lollipop is available in this thread: http://xdaforums.com/xposed/modules/app-gravitybox-v5-0-0alpha-tweak-box-t3037566

    READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER
    Version for Marshmalow has been tested on Nexus 5 and thus should be compatible with all the Nexus devices running stock Google system.

    Introduction
    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 6 (ROM close enough to AOSP).
    This project wouldn't be possible without rovo's Xposed framework, so huge kudos to him.

    Feature highlight
    --- CyanogenMod Pie controls
    --- Expanded Desktop
    --- Statusbar QuickSettings tile management with additional tiles and reordering /* work in progress */
    --- Statusbar icon coloring
    --- Statusbar Brightness Control
    --- Center clock in statusbar
    --- Battery indicator style
    --- Navigation bar tweaks including cursor control keys
    --- Low battery warning policy
    --- Disable LED flashing when battery low
    --- Disable LED while charging
    --- 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
    --- Minimal brightness setting
    --- Autobrihtness levels adjustment
    --- Lockscreen tweaks
    --- Hardware/navigation key actions
    --- Notification drawer style (background color, image for portait/landscape, transparency)
    --- Button backlight modes (default, disabled, always on while screen is on)
    --- Dialer (Phone) tweaks
    --- Google Launcher tweaks
    --- Screen recording
    --- GravityBox Actions - interface for 3rd party apps
    --- Smart Radio
    --- Notification control (per-app notification LED/sounds/vibrations)
    --- Ascending ring tone
    ... more to come

    Compatibility
    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 6 (AOSP)
    - supports "Google devices" like Nexus, HTC One Google play edition, and others running vanilla Android 6
    - supports OnePlus 3T running OxygenOS 3.5
    - Samsung Touchwiz, HTC Sense, MIUI, LeWa, Xperia, Lenovo, 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,CATACLYSM,OMNI AND THEIR OTHER CLONES... 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

    As is detailed in the OP, GravityBox is designed to be used with stock, vanilla AOSP ROMs, not OEM and custom ROMs. In other words, Google Play Edition and Nexus devices. All OEM ROMs (TouchWiz, Sense, Xperia, Moto, etc.), and custom ROMs (CyanogenMod, ParanoidAndroid, etc.) differ significantly in their code base from pure AOSP. And as most of these ROMs are closed source, and the developer does not have access to all the devices, it means that GravityBox is not designed for, or tested on, these devices and ROMs.

    Even though the Moto devices look like stock Android, they are as much custom under-the-hood as TouchWiz or Sense. It's just that Motorola decided to implement a skin that resembles stock Android, rather than a custom skin like Samsung has done. But the changes to the core code mean that many of GravityBox's features will not work, and actually do cause some well-known bugs. The same goes for ParanoidAndroid, there are just too many changes to the core code for GB to be reliable.

    If you choose to use GravityBox on a ROM it was never intended to be used with, then you do so at your own risk, and without any support. You should always have a good nandroid backup and be familiar with ADB and Fastboot. At any time, a ROM update or GravityBox update may cause any/all GravityBox features to break, and worst case, send your device into a bootloop. This is just an unfortunate reality of using a mod on a device it wasn't intended to be used on. Any user who wishes to improve or fix bugs on their unsupported ROM is more than welcome to download the source code for GravityBox (links to Git in the OP) and work on debugging and fixing the bugs on their own.

    Prerequisites
    To use this module, the following conditions must be met
    - You have a device running Android 6 that's based on AOSP (vanilla or close-to-vanilla Android)
    - Xposed Framework v78 or later

    GravityBox Marshmallow version has been developed and tested on Nexus 5

    Installation
    1) Follow instructions for installation of Xposed Framework.

    2) Download, GravityBox APK from the second post and install it.
    Alternatively, you can download the latest GravityBox directly from Xposed Installer (search for GravityBox [MM] module).

    3) Make sure GravityBox app is installed into internal memory. If it was installed into phone storage or external storage,
    move it into the internal memory first (applies only to devices having additional or external storage)

    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

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

    Documentation
    Thanks to @cadarn07, there's a comprehensive and searchable User Guide listing
    all of the GravityBox features. It's an EverNote document located at https://www.evernote.com/pub/cadarn07/gravitybox

    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:
    /data/data/de.robv.android.xposed.installer/log

    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 device so it is not guaranteed that
    it will work flawlessly on yours.


    Click here tor ead additional, more detailed info on Reporting bugs provided by @trjlive

    Multilanguage support
    Volunteers are welcome to translate GravityBox to other languages.
    Simply download this file: https://github.com/GravityBox/GravityBox/raw/marshmallow/res/values/strings.xml
    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: https://github.com/GravityBox/GravityBox/tree/marshmallow
    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
    https://github.com/GravityBox/GravityBox/blob/marshmallow/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.

    Credits
    - @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
    - @Tungstwenty for Fake ID vulnerability patch
    - @simmac for app icon
    - @romracer for Motorola specific code contributions
    - THL W8 owners for providing support and feedback
    - CyanogenMod project
    - ParanoidAndroid project
    - SlimBean, RootBox, AOKP, OmniROM projects
    - Sergey Margaritov for ColorPickerPreference
    - 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)

    Changelog
    https://github.com/GravityBox/GravityBox/blob/marshmallow/CHANGELOG.txt

    XDA:DevDB Information
    GravityBox [MM] Xposed Framework Module, Xposed for the Xposed Framework

    Contributors
    C3C076
    Source Code: https://github.com/GravityBox/GravityBox/tree/marshmallow

    Xposed Package Name: com.ceco.marshmallow.gravitybox

    Version Information
    Status: Stable
    Current Stable Version: 6.6.0
    Stable Release Date: 2018-09-23

    Created 2015-11-17
    Last Updated 2018-09-23
    169
    Changelog 6.6.0 - 23/09/2018
    - QuietHours: additional enhancements and redesign
    --- rules for ligts/vibrations/sounds/ringer whitelist can now be set for each time range independently
    --- manual mode has its own set of rules that are independent of automatic time ranges
    --- initial ringer whitelist for newly created time range is inherited from manual mode settings
    --- added option for controlling current mode directly from the QuietHours settings
    --- reorganized settings
    --- !!! data structure changes render existing time ranges incompatible - need to be reconfigured !!!
    - Updated Ukrainian translations (thanks to burunduk)
    - Updated Turkish translations (thanks to Fatih Firinci)
    - Updated Russian translations (thanks to gaich)

    Complete commit history for 6.5.3->6.6.0

    Important info about compatibility with OxygenOS 3.5 running on OnePlus 3T

    QuickSettings management
    OxygenOS 3.5 has quick settings ported from Nougat which makes things far too complicated.
    I put a lot of efforts into adjusting quick settings management in GravityBox but there are still
    some limitations that would require far more work and time to address. This is as best as we can get at this moment.
    I am probably not planning to put additional efforts into it since Nougat is going to drop to OP3T soon.
    Limitations:
    - max 9 tiles at the same time allowed
    - tiles per row option is not available
    - scaling correction is not available
    - tiles still support visibility policy settings (e.g. to not show tile on secured lock screen)
    but due to nature of quick settings panel, tiles can't be rearranged to fill-in space left by hidden tiles.
    - dual mode is not supported
    - when QS management is enabled in GravityBox, edit button located in QS panel is linked to GravityBox QS management
    instead of system's QS editor (it can't coexist together with GB's QS management)
    - dataswitch tile disappears unexpectedly when tiles are reconfigured. Reboot brings it back.

    Battery style
    OxygenOS does not have stock battery with percentage so setting this style in GravityBox has no effect.

    Navigation keys action for capactitive buttons
    Home key double tap is strangely linked to menu single-tap action. So if you want
    to set doubletap action on home key, make sure to set the same value to menu single-press

    Power menu
    OxygenOS has completely different power menu which means advanced power menu features in GravityBox are not available.

    Fingerprint launcher
    When fingerprint sensor is in listening state on OP3T, it disables standard home button functionality.
    Workaround is to assign "Go Home" GravityBox action as fingeprint sensor quick-tap.
    GravityBox will set this action on quick-tap option automatically in case there is none assigned yet.

    OnePlus3T running alternative AOSP ROM
    If OxygenOS 3.5 on your device has been reflashed by AOSP ROM, make sure to enable "Force AOSP" option in About section
    82
    What's missing in version for Marshmallow compared to Lollipop
    - No Music tile.
    - RingerMode tile has been changed to allow only ringer specific modes: sound/vibrate/sound&vibrate. It won't allow changing Do not disturb modes, but it's still capable of indicating current DND mode. Use stock tile for managing Do not disturb modes.
    - Heads up features are limited since it is no longer a standalone system window but rather standard notification which can show in special mode where notification panel is invisible
    - No status bar notification ticker features as support for ticker has been completely dropped in Marshmallow.

    QuickSettings management and SystemUI tuner
    Avoid using SystemUI tuner for quick settings when you have QS management enabled in GravityBox.
    SystemUI tuner QS management will crash as it doesn't know about tiles coming from GB.
    Nothing to be fixed from GB side.

    Settings from Lollipop
    It is possible to restore backup of the settings made in LP version of GravityBox.

    Full history of changes for transition from LP to MM
    https://github.com/GravityBox/GravityBox/compare/v5.3.2_lp...v6.0.1_mm
    23
    Version 6.2.0 available

    Changelog 6.2.0 - 03/11/2016
    - Fixed issue preventing module from working on some devices
    - Fixed battery percent text sign showing in lock screen even if disabled
    - Lockscreen tweaks:
    --- Imprint mode adjusted for compatibility with newer Android 6.0.1 releases
    - GravityBox Actions:
    --- expand notification panel instantly instead of slow animation
    --- brought back action for expanding quick settings panel
    - Introducing Fingerprint launcher (available within main settings screen):
    --- allows launching app/action using fingerprint sensor when screen is on
    and device is unlocked
    --- provides 10 second time window when other app requests fingerprint
    authentication during which user must take action before Launcher tries
    recapturing sensor
    --- EXPERIMENTAL option for quick tap mode, which accepts
    unrecognized fingerprints and quicker taps to launch app/action. Can
    temporarily lock out sensor when too many subsequent auth failures occur
    - Updated Chinese (Simplified) translations (thanks to liveasx)

    Complete commit history for 6.1.7->6.2.0
    22
    Changelog 6.0.8 - 05/04/2016
    - CircleBattery: fixed refreshing issue
    - Navbar: added option for auto-fading soft keys
    - Lockscreen: added option for PIN scrambling
    - StayAwake tile: added option for auto-reset of screen timeout when screen turns off
    - Updated Ukrainian translations (thanks to burunduk)
    - Updated Chinese (Simplified) translations (thanks to liveasx)
    - Updated Malaysian translations (thanks to zamzameir)
    - Updated Russian translations (thanks to gaich)

    Complete commit history for 6.0.7->6.0.8