[APP][N][XPOSED] GravityBox v7.5.0 - tweak box for Android 7 [23/01/2019]

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 Nougat
Version 7.5.0 [Nougat]

Version for JellyBean is available in this thread: https://xdaforums.com/showthread.php?t=2316070
Version for KitKat is available in this thread: https://xdaforums.com/showthread.php?t=2554049
Version for Lollipop is available in this thread: https://xdaforums.com/showthread.php?t=3037566
Version for Marshmallow is available in this thread: https://xdaforums.com/showthread.php?t=3251148

READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER

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

Feature highlight
--- Lockscreen tweaks
--- QuickSettings tile management with additional tiles
--- Statusbar tweaks
--- Navigation bar tweaks
--- Pie controls
--- Power tweaks
--- Display tweaks
--- Phone tweaks
--- Media tweaks
--- Hardware/navigation key actions
--- GravityBox Actions - interface for 3rd party apps
--- Notification control (per-app notification LED/sounds/vibrations)
--- Fingerprint launcher
--- Advanced tuning of Framework and System UI parameters
... and many more

Compatibility
GB's main concept is to make most of the preference changes to be done on the fly without need to reboot a device to achieve custom-ROM like experience.
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 to a situation when you installed ROM built from source for Nexus to some Xperia device - it won't work.

GB is a complex module and is not suitable for 1 purpose scenario. This means, if you are running custom ROM built from source, 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.
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 7 (AOSP)
- officially supports devices/systems it was developed and tested on
- 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 MODULE WAS NOT EXPLICITLY DESIGNED FOR
- 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

GravityBox [N] has been designed for and tested on
- Nexus 5 running AOSP 7.0
- Nexus 5 running AOSP 7.1
- Nexus 5X running stock 7.0
- Nexus 5X running stock 7.1
- OnePlus 3T running stock OxygenOS 4.5
- Moto G5 Plus running stock 7.0

Reporting bugs
If you experience problems with certain feature, provide the full-detailed info that can help me
to reproduce the bug and attach error.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 to read 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/nougat-as/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/nougat-as
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/nougat-as/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 more than 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 are two premium features:
- Backup/restore of GB settings.
- Ultimate notification control

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/nougat-as/CHANGELOG.txt

XDA:DevDB Information
GravityBox [N] Xposed Framework Module, Xposed for all devices (see above for details)

Contributors
C3C076
Source Code: https://github.com/GravityBox/GravityBox/tree/nougat-as

Xposed Package Name: com.ceco.nougat.gravitybox

Version Information
Status: Stable
Current Stable Version: 7.5.0
Stable Release Date: 2019-01-23

Created 2017-08-09
Last Updated 2019-01-23
 

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
Changelog 7.5.0 - 23/01/2019
- Introducing Advanced tuning (premium feature)
--- dynamically extracts boolean and integer configuration parameters from the Framework and System UI
--- presents parameters and their values within GravityBox Settings interface
--- allows overriding parameters with user-defined values
--- designed for power users - use with caution
- Improved Allow all rotations feature
--- when enabled, it is possible to apply rotation lock to landscape orientation
- Updated Turkish translations (thanks to Fatih Firinci)

Developed and tested on:
- Nexus 5 running AOSP 7.0
- Nexus 5 running AOSP 7.1
- Nexus 5X running stock 7.0
- Nexus 5X running stock 7.1
- OnePlus 3T running stock OxygenOS 4.5
- Moto G5 Plus running stock 7.0

NON-FBE version
This version uses legacy storage instead of new Device Protected Storage.
Designed for devices WITHOUT file-based encryption that have issues with certain storage-related features, such as choosing images for lockscreen wallpaper, etc. Note, that transition from GravityBox using one type of storage to another causes GravityBox settings reset. NON-FBE version is not available in official Xposed Repository but can be get from the official support thread at XDA forum.
 

Attachments

  • GravityBox_Nougat_7.5.0.apk
    6.3 MB · Views: 12,433
  • GravityBox_Nougat_7.5.0-NON-FBE.apk
    6.3 MB · Views: 4,333
Last edited:

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
What's missing in version for Nougat compared to Marshmallow
- Launcher tweaks - won't be added back as they were not system related and thus causing trouble
- Clear all recents - this is native now
- ... and maybe some other I forgot about - you'll find out

QuickSettings management
QS management has been massively redesigned for compatibility with stock SystemUI tuner.
GB doesn't provide tile reordering functionality anymore. It only provides interface for enabling/disabling GB specific tiles and setting their protected mode.
There are 2 checkboxes for each tile in the list - the first checkbox is for enabling/disabling tile, the second one is for protected mode.
There are also several stock tiles in the list with only the second checkbox - for setting protected mode (prevents using tile when device locked).
SystemUI tuner shows only those GB tiles that are enabled in GB QS management.
Use SystemUI tuner to drag and drop GB tiles to desired slots.

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

Full history of changes for transition from MM to N
https://github.com/GravityBox/GravityBox/compare/v6.3.7_mm...v7.0.0_n
 
Last edited:

HorstiG

Senior Member
Mar 14, 2013
4,844
2,735
Banja Luka RS
Thank you 90% is working with S8 Plus. Stock N 7.0

Screenshot_20170810-023951.jpg
 
Last edited:

ivanscrach

Member
Jan 4, 2013
35
1
So far everything works well on my Xperia Z5 premium with ROM stock 7.1.1. Thank you!!

Sent from my Xperia Z5 Premium using XDA Labs
 

jib@rmi.ge

Senior Member
Aug 9, 2015
66
12
Tbilisi
Not demanding anything, just informing (but maybe you would expect this) - not working on moto g cedric with Lineage 14.1 (upon launch, says GravityBox sustem framework not responding)
 
  • Like
Reactions: swieder711

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
Is this temporary? Or will GB never support this feature again?
QS management is already fully supported. It just works in different way that people were used to.
We do not need interface for tile reordering anymore as this you can do with native Android's QS editor.
Is it available on xposed download ? :confused::confused::confused:
And it is for 7.xx or 7.0 only ? :confused:
7.0 and 7.1
The first post contains info about what devices/systems this was developed and tested on.
 

Top Liked Posts

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

    Version for JellyBean is available in this thread: https://xdaforums.com/showthread.php?t=2316070
    Version for KitKat is available in this thread: https://xdaforums.com/showthread.php?t=2554049
    Version for Lollipop is available in this thread: https://xdaforums.com/showthread.php?t=3037566
    Version for Marshmallow is available in this thread: https://xdaforums.com/showthread.php?t=3251148

    READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER

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

    Feature highlight
    --- Lockscreen tweaks
    --- QuickSettings tile management with additional tiles
    --- Statusbar tweaks
    --- Navigation bar tweaks
    --- Pie controls
    --- Power tweaks
    --- Display tweaks
    --- Phone tweaks
    --- Media tweaks
    --- Hardware/navigation key actions
    --- GravityBox Actions - interface for 3rd party apps
    --- Notification control (per-app notification LED/sounds/vibrations)
    --- Fingerprint launcher
    --- Advanced tuning of Framework and System UI parameters
    ... and many more

    Compatibility
    GB's main concept is to make most of the preference changes to be done on the fly without need to reboot a device to achieve custom-ROM like experience.
    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 to a situation when you installed ROM built from source for Nexus to some Xperia device - it won't work.

    GB is a complex module and is not suitable for 1 purpose scenario. This means, if you are running custom ROM built from source, 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.
    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 7 (AOSP)
    - officially supports devices/systems it was developed and tested on
    - 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 MODULE WAS NOT EXPLICITLY DESIGNED FOR
    - 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

    GravityBox [N] has been designed for and tested on
    - Nexus 5 running AOSP 7.0
    - Nexus 5 running AOSP 7.1
    - Nexus 5X running stock 7.0
    - Nexus 5X running stock 7.1
    - OnePlus 3T running stock OxygenOS 4.5
    - Moto G5 Plus running stock 7.0

    Reporting bugs
    If you experience problems with certain feature, provide the full-detailed info that can help me
    to reproduce the bug and attach error.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 to read 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/nougat-as/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/nougat-as
    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/nougat-as/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 more than 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 are two premium features:
    - Backup/restore of GB settings.
    - Ultimate notification control

    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/nougat-as/CHANGELOG.txt

    XDA:DevDB Information
    GravityBox [N] Xposed Framework Module, Xposed for all devices (see above for details)

    Contributors
    C3C076
    Source Code: https://github.com/GravityBox/GravityBox/tree/nougat-as

    Xposed Package Name: com.ceco.nougat.gravitybox

    Version Information
    Status: Stable
    Current Stable Version: 7.5.0
    Stable Release Date: 2019-01-23

    Created 2017-08-09
    Last Updated 2019-01-23
    170
    Changelog 7.5.0 - 23/01/2019
    - Introducing Advanced tuning (premium feature)
    --- dynamically extracts boolean and integer configuration parameters from the Framework and System UI
    --- presents parameters and their values within GravityBox Settings interface
    --- allows overriding parameters with user-defined values
    --- designed for power users - use with caution
    - Improved Allow all rotations feature
    --- when enabled, it is possible to apply rotation lock to landscape orientation
    - Updated Turkish translations (thanks to Fatih Firinci)

    Developed and tested on:
    - Nexus 5 running AOSP 7.0
    - Nexus 5 running AOSP 7.1
    - Nexus 5X running stock 7.0
    - Nexus 5X running stock 7.1
    - OnePlus 3T running stock OxygenOS 4.5
    - Moto G5 Plus running stock 7.0

    NON-FBE version
    This version uses legacy storage instead of new Device Protected Storage.
    Designed for devices WITHOUT file-based encryption that have issues with certain storage-related features, such as choosing images for lockscreen wallpaper, etc. Note, that transition from GravityBox using one type of storage to another causes GravityBox settings reset. NON-FBE version is not available in official Xposed Repository but can be get from the official support thread at XDA forum.
    95
    It's nice to realize it's 2018 and people are still interested in a project that started back in 2013.
    Update for Oreo will eventually come sooner or later but I would like to ask you for patience. Please understand that the project is large and migration
    from one major Android version to another takes a lot of time. E.g. the last migration from Marshmallow to Nougat took me almost a month of work.
    Gladly, we had an alpha xposed which allowed me to prepare things ahead of official release so people could experience the first GB release right after official Xposed came.
    The situation with Oreo is different, though, as there is nothing done regarding migration yet.
    Moreover, I am going through some difficult times in my job I do for a living as I am already missing some deadlines and I often work under pressure and too much stress.
    This means that my free time for Android development is now limited as I need to rest more than I normally do (or I am just getting too old).
    So let's see what I can do and stay tuned for some future development.
    62
    What's missing in version for Nougat compared to Marshmallow
    - Launcher tweaks - won't be added back as they were not system related and thus causing trouble
    - Clear all recents - this is native now
    - ... and maybe some other I forgot about - you'll find out

    QuickSettings management
    QS management has been massively redesigned for compatibility with stock SystemUI tuner.
    GB doesn't provide tile reordering functionality anymore. It only provides interface for enabling/disabling GB specific tiles and setting their protected mode.
    There are 2 checkboxes for each tile in the list - the first checkbox is for enabling/disabling tile, the second one is for protected mode.
    There are also several stock tiles in the list with only the second checkbox - for setting protected mode (prevents using tile when device locked).
    SystemUI tuner shows only those GB tiles that are enabled in GB QS management.
    Use SystemUI tuner to drag and drop GB tiles to desired slots.

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

    Full history of changes for transition from MM to N
    https://github.com/GravityBox/GravityBox/compare/v6.3.7_mm...v7.0.0_n
    61
    Hey ceco,
    I have a question about LED light. I know that Lenovo device is not fully suported, but it is close to AOSP, features from Gravibox I tried are working fine. My Lenovo Tab 4 8" Plus 4/64GB (device type name in my sig and byline) has for apps only blue light, but when charging it has red and when charged green light. So my question, is it possible to "unlock" and use different colors with Gravitybox Ultimate notification control for apps? Now it does not matter what color I set, it is always blue.

    Thank you, your module is the best tool, I use it since Lollipop.
    Greetings to Banska Bystrica ;)
    The thing is ultimate notification control is using standard notification properties to set notification light behavior. That's timings and color. In the API documentation there is a remark saying "hardware will do its best approximation". This means it always depends on led hardware and driver. I cannot affect this from the module. I know it is often possible to control led using sysfs (directly writing values to sysfs nodes) but I can't imagine a reliable solution which would be battery friendly.

    Regarding Oreo progress. I'm almost done with 8.1 and it took longer than I expected. There were too many surprises and challenges I had to take care of. It's still not perfect as e.g. I didn't manage to make expanded desktop fully work (on 8.0 it does) but it should be OK for general use. Now I will have to get back to 8.0 and check for any regressions I might have introduced while making 8.1 adjustments. This means I still need couple of days. Also I'll try to get back to finding a workaround for settings access from Android process on enforced selinux. That's the only big issue left.