[APP][LP][XPOSED] GravityBox v5.6.0 - tweak box for Android 5 [23/09/2018]

Search This thread

RusherDude

Senior Member
Aug 24, 2012
2,013
623
Let me explain current behavior.
Previously we had cellular tile which:
- Opens detail screen on press
- Toggles mobile data on long-press.
Making it dual basically means that long-press action becomes press action and press action becomes label press action. Thus we have mobile data on/off on press, open detail on label press.
What could be additionally done would be to attach new long-press action which would e.g. open mobile settings.
Currently, there's no long-press action in dual mode so when tile is long-pressed it falls back to single-press which is to toggle mobile data.

Awesome feature, even if it doesn't look big, data actually was kinda broken in the quck settings. :good:

Review:

One bug: H+ never appears even after reboot :(, stays on H always. It should change to H+ when there's net activity right?

Just a small suggestion: the wifi panel is awesmoe with that accent color line while its scanning, could the bluetooth have the same while it is scanning for bt devices?? I don't know if this would be hard to implement but it would look amazing and over all consistent! (I don't know if this could also be implemente on the data one after turning it on until it got signal, would be awesome too haha.

Talking about the wifi panel, could you make it so the wifi panel into the QP isn't much bigger than the BT and Data panels? It looks OK in stock but with GB if you have a small QS panel it looks damn bad being that big.

About the "long-press" action, it would be AWESOME if this could be implemented:

a) When the dual tiles are normalized, long press would open the normal "label click" panel. This is so much needed right now :(

b) When dual tiles are normal, could you add the option to long press them (both the icon and label) to automatically open the "more options" option inside the sub panel, this means the proper settings section! I mean with

And on a roll, if you could add "long press" for every tile that has some settings section (examples: location. wifi hotspot, the screen options ones, sync, etc) would be cool also :p.

Thanks for the really hard work!
 
Last edited:
Hi @C3C076, I have Moto E 2015 XT1527, and Gravity says isn't device XT, and don't work signals tweaks. Thanks
cc03d45984f7ceeeb49aa1c2dcfa82f9.jpg
 

Ok_Kaleidoscope5109

Senior Member
Dec 29, 2009
2,624
709
Not annoying at all :)
Ticker policy options have some history behind. Feature was introduced in KitKat and had following policy options:
- Default (obeys system behavior)
- Disable on lockscreen
- Disable on secured lock screen
- Always disable
2nd and 3rd are not relevant on Lollipop, as there's no real status bar on lock screen. It's basically a notification panel with header showing signals (and other info) making those options obsolete.
In LP, Default means ON and Always disabled means OFF.

So Default = On = replace Heads Up with Ticker? Sorry I'm not completely understanding there.

Also I was using CM for the past week, so I doubt this feature is working properly because CM now has incorporated their own Heads Up mechanism. My AOSP Nexus 5 is currently with my parents, so I can't test at the moment.
 

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
Hi @C3C076, I have Moto E 2015 XT1527, and Gravity says isn't device XT, and don't work signals tweaks. Thanks
cc03d45984f7ceeeb49aa1c2dcfa82f9.jpg

GB is not able to identify your device as Motorola. I adjusted logic for your specific case so please test APK in attachment.
Signal cluster tweaks should work provided your device runs the same system like other Moto devices do.
 

Attachments

  • GravityBox.apk
    3.7 MB · Views: 28
  • Like
Reactions: JaviLerma

vanessaem

Retired Senior Moderator / Inactive Themer
Jun 7, 2010
13,152
13,993
Missouri City
Hello everyone,

Thread cleaned...

I'm not C3C076 as you all know but I just came here to moderate. Here's what's in the OP:

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

Now lets hope things are finally clear about this.

This is a general message to all. It's not always necessary for the Developer/owner of the thread to answer you directly all of the time. In addition, they will not always be available. Repeatedly posting about the same issue that has already been covered in OP is not helpful to anyone. This is a support thread where everyone can provide support for one another. Other people on the thread are more than capable of respectfully answering anyone's questions on here.

My next point, if someone asks a question and you don't want to help because you feel that a topic has already been covered, please don't respond and just ignore the post. It's that simple. Arguing with people solves absolutely nothing. Please respect each other and keep things civilized.

Regards...
 
Last edited:

byrong

Senior Member
Jul 9, 2010
695
723
East Coast
Hi @C3C076

As always, thank you so much for all the amazing work you've put into this module. I'm having a problem with Ultimate Notification Control that I hope you can help me troubleshoot. This is not specific to the new GB release: rather it has been something I've been trying to figure out for weeks.

I have UNC set to allow Tasker full notification visibility on my lockscreen, but it won't consistently work. Sometimes it works, but it often shows "Contents hidden." This problem seems to be intermittent and I cannot figure out why.

Here are links to screenshots confirming my settings:

1. System level setting for notification is "Hide sensitive notification content" - http://imgur.com/i2WIDqS
2. Tasker is active in GB UNC per-app settings - http://imgur.com/0dmu2Rc
3. In GB UNC settings for Tasker, it is set to "Show all content" and "Ongoing" - http://imgur.com/mHpdt0S

Despite these settings, the lockscreen often hides Tasker's notification details: http://imgur.com/2dFTI19

When you first incorporated this feature into GB, it worked 100% of the time for me... but at some point a few weeks ago (really don't remember exactly when) I started having these problems.

If I flip the system level setting back to "Show all notification content" the lockscreen works properly: http://imgur.com/m0NtFwR

I don't know if it's in any way related (though I'm sure this part has nothing to do with GB), but I also notice that my lockscreen sometimes shows a different time stamp on notifications. As shown in this example, when the phone was unlocked the Tasker notification showed 3:09 PM, whereas the lockscreen showed the same notification as 9:37 AM.
http://imgur.com/jaSwiUm

I disabled all other xposed modules to see if anything was interfering, but that didn't change anything.

Here's an xposed log from a clean boot:
Code:
07-06 13:38:15.949 I/Xposed  (  505): -----------------
07-06 13:38:15.949 I/Xposed  (  505): Starting Xposed binary version 61, compiled for SDK 22
07-06 13:38:15.949 I/Xposed  (  505): Device: HTC One_M8 (HTC), Android version 5.1 (SDK 22)
07-06 13:38:15.949 I/Xposed  (  505): ROM: Digitalhigh GPE LMY47O.H6 release-keys
07-06 13:38:15.949 I/Xposed  (  505): Build fingerprint: htc/m8_google/htc_m8:5.1/LMY47O.H6/534182:user/release-keys
07-06 13:38:15.949 I/Xposed  (  505): Platform: armeabi-v7a, 32-bit binary, system server: yes
07-06 13:38:15.949 I/Xposed  (  505): SELinux enabled: yes, enforcing: yes
07-06 13:38:15.956 I/Xposed  (  505): -----------------
07-06 13:38:15.957 I/Xposed  (  505): Added Xposed (/system/framework/XposedBridge.jar) to CLASSPATH
07-06 13:38:16.473 I/Xposed  (  505): Detected ART runtime
07-06 13:38:16.494 I/Xposed  (  505): Found Xposed class de/robv/android/xposed/XposedBridge, now initializing
07-06 13:38:16.634 I/Xposed  (  505): Initializing XposedBridge version 64
07-06 13:38:16.791 I/Xposed  (  505): Loading modules from /data/app/com.ceco.lollipop.gravitybox-2/base.apk
07-06 13:38:17.482 I/Xposed  (  505):   Loading class com.ceco.lollipop.gravitybox.GravityBox
07-06 13:38:17.509 I/Xposed  (  505): GB:Hardware: qcom
07-06 13:38:17.509 I/Xposed  (  505): GB:Product: m8_google
07-06 13:38:17.510 I/Xposed  (  505): GB:Device manufacturer: HTC
07-06 13:38:17.510 I/Xposed  (  505): GB:Device brand: htc
07-06 13:38:17.510 I/Xposed  (  505): GB:Device model: HTC One_M8
07-06 13:38:17.519 I/Xposed  (  505): GB:Device type: phone
07-06 13:38:17.520 I/Xposed  (  505): GB:Is MTK device: false
07-06 13:38:17.520 I/Xposed  (  505): GB:Is Xperia device: false
07-06 13:38:17.520 I/Xposed  (  505): GB:Is Moto XT device: false
07-06 13:38:17.520 I/Xposed  (  505): GB:Has Lenovo custom UI: false
07-06 13:38:17.520 I/Xposed  (  505): GB:Has telephony support: true
07-06 13:38:17.522 I/Xposed  (  505): GB:Has Gemini support: false
07-06 13:38:17.522 I/Xposed  (  505): GB:Android SDK: 22
07-06 13:38:17.522 I/Xposed  (  505): GB:Android Release: 5.1
07-06 13:38:17.522 I/Xposed  (  505): GB:ROM: Digitalhigh GPE LMY47O.H6 release-keys
07-06 13:38:41.000 I/Xposed  ( 1374): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?
07-06 13:38:43.299 I/Xposed  ( 1767): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?
07-06 13:39:04.025 I/Xposed  ( 3852): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?
07-06 13:39:04.886 I/Xposed  ( 3907): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?
07-06 13:39:23.072 I/Xposed  ( 5100): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?

I see the errors at the end about dynamic grid. Not sure what that's about. I am not using any launcher tweaks in GB. I have Google Now Launcher version 1.1.1.1706998 installed, though I use Nova Launcher. I have Google App version 5.0.16.19.arm

I have been under the impression that GPE counts as vanilla Android, but if you believe this is a ROM issue, let me know. If this is the case, apologies for wasting time.

I hope you are enjoying your summer and completely understand if you can't look at this for a while.

All the best!
 
  • Like
Reactions: Raijin and C3C076

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
Hi @C3C076

As always, thank you so much for all the amazing work you've put into this module. I'm having a problem with Ultimate Notification Control that I hope you can help me troubleshoot. This is not specific to the new GB release: rather it has been something I've been trying to figure out for weeks.

I have UNC set to allow Tasker full notification visibility on my lockscreen, but it won't consistently work. Sometimes it works, but it often shows "Contents hidden." This problem seems to be intermittent and I cannot figure out why.

Here are links to screenshots confirming my settings:

1. System level setting for notification is "Hide sensitive notification content" - http://imgur.com/i2WIDqS
2. Tasker is active in GB UNC per-app settings - http://imgur.com/0dmu2Rc
3. In GB UNC settings for Tasker, it is set to "Show all content" and "Ongoing" - http://imgur.com/mHpdt0S

Despite these settings, the lockscreen often hides Tasker's notification details: http://imgur.com/2dFTI19

When you first incorporated this feature into GB, it worked 100% of the time for me... but at some point a few weeks ago (really don't remember exactly when) I started having these problems.

If I flip the system level setting back to "Show all notification content" the lockscreen works properly: http://imgur.com/m0NtFwR

I don't know if it's in any way related (though I'm sure this part has nothing to do with GB), but I also notice that my lockscreen sometimes shows a different time stamp on notifications. As shown in this example, when the phone was unlocked the Tasker notification showed 3:09 PM, whereas the lockscreen showed the same notification as 9:37 AM.
http://imgur.com/jaSwiUm

I disabled all other xposed modules to see if anything was interfering, but that didn't change anything.

Here's an xposed log from a clean boot:
Code:
07-06 13:38:15.949 I/Xposed  (  505): -----------------
07-06 13:38:15.949 I/Xposed  (  505): Starting Xposed binary version 61, compiled for SDK 22
07-06 13:38:15.949 I/Xposed  (  505): Device: HTC One_M8 (HTC), Android version 5.1 (SDK 22)
07-06 13:38:15.949 I/Xposed  (  505): ROM: Digitalhigh GPE LMY47O.H6 release-keys
07-06 13:38:15.949 I/Xposed  (  505): Build fingerprint: htc/m8_google/htc_m8:5.1/LMY47O.H6/534182:user/release-keys
07-06 13:38:15.949 I/Xposed  (  505): Platform: armeabi-v7a, 32-bit binary, system server: yes
07-06 13:38:15.949 I/Xposed  (  505): SELinux enabled: yes, enforcing: yes
07-06 13:38:15.956 I/Xposed  (  505): -----------------
07-06 13:38:15.957 I/Xposed  (  505): Added Xposed (/system/framework/XposedBridge.jar) to CLASSPATH
07-06 13:38:16.473 I/Xposed  (  505): Detected ART runtime
07-06 13:38:16.494 I/Xposed  (  505): Found Xposed class de/robv/android/xposed/XposedBridge, now initializing
07-06 13:38:16.634 I/Xposed  (  505): Initializing XposedBridge version 64
07-06 13:38:16.791 I/Xposed  (  505): Loading modules from /data/app/com.ceco.lollipop.gravitybox-2/base.apk
07-06 13:38:17.482 I/Xposed  (  505):   Loading class com.ceco.lollipop.gravitybox.GravityBox
07-06 13:38:17.509 I/Xposed  (  505): GB:Hardware: qcom
07-06 13:38:17.509 I/Xposed  (  505): GB[emoji14]roduct: m8_google
07-06 13:38:17.510 I/Xposed  (  505): GB:Device manufacturer: HTC
07-06 13:38:17.510 I/Xposed  (  505): GB:Device brand: htc
07-06 13:38:17.510 I/Xposed  (  505): GB:Device model: HTC One_M8
07-06 13:38:17.519 I/Xposed  (  505): GB:Device type: phone
07-06 13:38:17.520 I/Xposed  (  505): GB:Is MTK device: false
07-06 13:38:17.520 I/Xposed  (  505): GB:Is Xperia device: false
07-06 13:38:17.520 I/Xposed  (  505): GB:Is Moto XT device: false
07-06 13:38:17.520 I/Xposed  (  505): GB:Has Lenovo custom UI: false
07-06 13:38:17.520 I/Xposed  (  505): GB:Has telephony support: true
07-06 13:38:17.522 I/Xposed  (  505): GB:Has Gemini support: false
07-06 13:38:17.522 I/Xposed  (  505): GB:Android SDK: 22
07-06 13:38:17.522 I/Xposed  (  505): GB:Android Release: 5.1
07-06 13:38:17.522 I/Xposed  (  505): GB:ROM: Digitalhigh GPE LMY47O.H6 release-keys
07-06 13:38:41.000 I/Xposed  ( 1374): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?
07-06 13:38:43.299 I/Xposed  ( 1767): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?
07-06 13:39:04.025 I/Xposed  ( 3852): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?
07-06 13:39:04.886 I/Xposed  ( 3907): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?
07-06 13:39:23.072 I/Xposed  ( 5100): GB:ModLauncher: Couldn't find dynamic grid. Incompatible Google Search?

I see the errors at the end about dynamic grid. Not sure what that's about. I am not using any launcher tweaks in GB. I have Google Now Launcher version 1.1.1.1706998 installed, though I use Nova Launcher. I have Google App version 5.0.16.19.arm

I have been under the impression that GPE counts as vanilla Android, but if you believe this is a ROM issue, let me know. If this is the case, apologies for wasting time.

I hope you are enjoying your summer and completely understand if you can't look at this for a while.

All the best!
Thanks for very detailed report. If only all users having issues would take time to do so :)
Not sure what other variables may affect behavior. This is something that requires me to go through the Android source to analyze and find out where weak spots could be. I'll try as soon as I can. BTW, is that notification ongoing or clearable? You said it worked 100% previously. Any exact settings you changed since then for that app or if it started after updating app to some newer version?
In GB, nothing changed regarding that feature since introduced which is weird enough.
 

byrong

Senior Member
Jul 9, 2010
695
723
East Coast
Thanks for very detailed report. If only all users having issues would take time to do so :)
Not sure what other variables may affect behavior. This is something that requires me to go through the Android source to analyze and find out where weak spots could be. I'll try as soon as I can. BTW, is that notification ongoing or clearable? You said it worked 100% previously. Any exact settings you changed since then for that app or if it started after updating app to some newer version?
In GB, nothing changed regarding that feature since introduced which is weird enough.
That particular notification is ongoing, but the behavior seems just as unpredictable for clearable notifications.

For example: I just ran a routine from Tasker that posts a clearable notification at the end. After turning off the screen and turning it back on, suddenly the ongoing notification was visible as well as the clearable one. Unfortunately, even this is inconsistent. I then rebooted the phone and the ongoing notification had its contents hidden once more. This time I ran literally the exact same task. After cycling the screen, however, instead of both notifications being visible like last time, now both had their contents hidden.

This is actually why I delayed so long in reporting this to begin with. It seemed to start very rarely at first whereas now it's the rule more than the exception (the contents being hidden, I mean). It's extremely frustrating to try to nail down because I can repeat the exact same steps and get different results.

I'm sorry I can't provide better detail on exactly which variables have changed since this feature used to consistently work. I definitely haven't changed any settings in Tasker, but it has certainly been updated. I'm currently on Android 5.1 and I'm 99% sure that this feature worked fine when I was on Android 5.0, but I can't definitively state that the upgrade from 5.0>5.1 is when the trouble started.

I realize what I'm describing is a nightmare to troubleshoot (i.e. the same exact steps can produce different results and there are a lot of variables I cannot eliminate). I appreciate any time you find to put into it in the future, but I completely understand if you can't get far with it. Since I'm the only one reporting it I have to assume that either the issue is not very widespread or not that many people are using the feature in the same way I am.

Thanks again.
 
  • Like
Reactions: C3C076

electrolt

Senior Member
Apr 26, 2015
114
11
Thanks for great work, awesome module, but, how to stop screen recording? And where I can find recorded video?
 

RusherDude

Senior Member
Aug 24, 2012
2,013
623
Hey @C3C076 , in the new version I found some things that previously worked broken :(

No errors on the xposed logs :(

For example, the Battery quick settings tile: It doesn't matter if you got the option to show or not the percentage, it is not shown. Also when trying to toggle the battery save mode, both with touching or holding the battery icon, the phone vibrates but nothing happens, no battery save mode, no notification, the icon doesn't turn orange (with the option enabled, like it did before), etc. The "temperature unit" and "swap actions" options work, but the other 2 explained don't. I remember testing those in a prior version and they worked good, I didn't update xposed to the last version, can this be a problem?

Thanks a lot for the hard work!
 

agentsmith988

Senior Member
Jul 9, 2011
65
6
I've got an issue that I've been trying to figure out. I've got a Canadian Rogers Moto X XT1058 and cannot for the life of me figure out why I can't swap to the H+ icon from 3G. From the looks of it, I'm guessing that Rogers has modified their "vanilla" version of Android to use larger signal status icons (see screenshot with accompanying log) and it's causing the problem. Any thoughts? Or am I stuck with the oversized/3G signal status icons? FWIW, 3G displays regardless of if I'm on HSPA or HSPA+.

picture.php
 

Bert98

Senior Member
Jul 24, 2012
1,093
394
25
Padova
Moto G
Redmi K20 / Xiaomi Mi 9T
Hi, I love this module but I have a problem on my GPE 5.1 Moto G running Xposed 20150702 version.
Everytime I rotate the screen, the SystemUI force closes.
Here's the log:
Code:
07-07 01:37:13.621 E/Xposed  ( 5651): java.lang.IllegalArgumentException: x must be < bitmap.width()
07-07 01:37:13.621 E/Xposed  ( 5651): at android.graphics.Bitmap.checkPixelAccess(Bitmap.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.graphics.Bitmap.getPixel(Bitmap.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at info.papdt.lolistat.mod.ModLoli$100000004.afterHookedMethod(ModLoli.java:245)
07-07 01:37:13.621 E/Xposed  ( 5651): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:664)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.View.draw(<Xposed>)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.widget.FrameLayout.draw(FrameLayout.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.View.updateDisplayListIfDirty(View.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.View.getDisplayList(View.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ThreadedRenderer.draw(ThreadedRenderer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl.draw(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.Choreographer$CallbackRecord.run(Choreographer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.Choreographer.doCallbacks(Choreographer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.Choreographer.doFrame(Choreographer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.os.Handler.handleCallback(Handler.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.os.Handler.dispatchMessage(Handler.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.os.Looper.loop(Looper.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.app.ActivityThread.main(ActivityThread.java:5254)
07-07 01:37:13.621 E/Xposed  ( 5651): at java.lang.reflect.Method.invoke(Native Method)
07-07 01:37:13.621 E/Xposed  ( 5651): at java.lang.reflect.Method.invoke(Method.java:372)
07-07 01:37:13.621 E/Xposed  ( 5651): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
07-07 01:37:13.621 E/Xposed  ( 5651): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
07-07 01:37:13.621 E/Xposed  ( 5651): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:115)
07-07 01:37:23.355 E/Xposed  ( 6094): java.lang.NoSuchMethodError: android.widget.TextView#getSmallTime()#exact
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:181)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:131)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.StatusbarClock.hookGetSmallTime(StatusbarClock.java:116)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.StatusbarClock.setClock(StatusbarClock.java:93)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.ModStatusBar.prepareLayout(ModStatusBar.java:363)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.ModStatusBar.access$40(ModStatusBar.java:324)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.ModStatusBar$8.afterHookedMethod(ModStatusBar.java:653)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:664)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.phone.PhoneStatusBar.makeStatusBarView(<Xposed>)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.phone.PhoneStatusBar.addStatusBarWindow(PhoneStatusBar.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.phone.PhoneStatusBar.createAndAddWindows(PhoneStatusBar.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.BaseStatusBar.start(BaseStatusBar.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:650)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.BaseStatusBar.start(<Xposed>)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.phone.PhoneStatusBar.start(PhoneStatusBar.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.SystemBars.createStatusBarFromConfig(SystemBars.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.SystemBars.onNoService(SystemBars.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.ServiceMonitor.startService(ServiceMonitor.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.ServiceMonitor.access$000(ServiceMonitor.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.ServiceMonitor$1.handleMessage(ServiceMonitor.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at android.os.Handler.dispatchMessage(Handler.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at android.os.Looper.loop(Looper.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at android.app.ActivityThread.main(ActivityThread.java:5254)
07-07 01:37:23.355 E/Xposed  ( 6094): at java.lang.reflect.Method.invoke(Native Method)
07-07 01:37:23.355 E/Xposed  ( 6094): at java.lang.reflect.Method.invoke(Method.java:372)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:115)

Any clue?

Inviato dal mio XT1032 utilizzando Tapatalk
 

C3C076

Inactive Recognized Contributor
Dec 15, 2012
7,749
24,732
Bratislava
ceco.sk.eu.org
Thanks for great work, awesome module, but, how to stop screen recording? And where I can find recorded video?
Expand screen recording notification to see action buttons.

Hey @C3C076 , in the new version I found some things that previously worked broken :(

No errors on the xposed logs :(

For example, the Battery quick settings tile: It doesn't matter if you got the option to show or not the percentage, it is not shown. Also when trying to toggle the battery save mode, both with touching or holding the battery icon, the phone vibrates but nothing happens, no battery save mode, no notification, the icon doesn't turn orange (with the option enabled, like it did before), etc. The "temperature unit" and "swap actions" options work, but the other 2 explained don't. I remember testing those in a prior version and they worked good, I didn't update xposed to the last version, can this be a problem?

Thanks a lot for the hard work!
Weird enough. Nothing changed regarding Battery tile since its new features have been introduced. I doubt it's related to xposed framework version. Might be some local temporary power manager issues. Did you try to reboot to see if the issue goes away?

I've got an issue that I've been trying to figure out. I've got a Canadian Rogers Moto X XT1058 and cannot for the life of me figure out why I can't swap to the H+ icon from 3G. From the looks of it, I'm guessing that Rogers has modified their "vanilla" version of Android to use larger signal status icons (see screenshot with accompanying log) and it's causing the problem. Any thoughts? Or am I stuck with the oversized/3G signal status icons? FWIW, 3G displays regardless of if I'm on HSPA or HSPA+.
picture.php
Hard to tell as we don't have a clue what provider specific changes Rogers did to standard Moto system.
I recommend posting in the comment section of this commit.
https://github.com/GravityBox/GravityBox/commit/3848bd01b3019028676e24d884ec2ab587a1f799
Provide full xposed log as a text, not as a screenshot.
@romracer knows more about Moto running LP 5.1 since he owns one so he might be able to comment or help when he has time.

Hi, I love this module but I have a problem on my GPE 5.1 Moto G running Xposed 20150702 version.
Everytime I rotate the screen, the SystemUI force closes.
Here's the log:
Code:
07-07 01:37:13.621 E/Xposed  ( 5651): java.lang.IllegalArgumentException: x must be < bitmap.width()
07-07 01:37:13.621 E/Xposed  ( 5651): at android.graphics.Bitmap.checkPixelAccess(Bitmap.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.graphics.Bitmap.getPixel(Bitmap.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at info.papdt.lolistat.mod.ModLoli$100000004.afterHookedMethod(ModLoli.java:245)
07-07 01:37:13.621 E/Xposed  ( 5651): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:664)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.View.draw(<Xposed>)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.widget.FrameLayout.draw(FrameLayout.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.View.updateDisplayListIfDirty(View.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.View.getDisplayList(View.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ThreadedRenderer.draw(ThreadedRenderer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl.draw(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.Choreographer$CallbackRecord.run(Choreographer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.Choreographer.doCallbacks(Choreographer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.Choreographer.doFrame(Choreographer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.os.Handler.handleCallback(Handler.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.os.Handler.dispatchMessage(Handler.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.os.Looper.loop(Looper.java)
07-07 01:37:13.621 E/Xposed  ( 5651): at android.app.ActivityThread.main(ActivityThread.java:5254)
07-07 01:37:13.621 E/Xposed  ( 5651): at java.lang.reflect.Method.invoke(Native Method)
07-07 01:37:13.621 E/Xposed  ( 5651): at java.lang.reflect.Method.invoke(Method.java:372)
07-07 01:37:13.621 E/Xposed  ( 5651): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
07-07 01:37:13.621 E/Xposed  ( 5651): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
07-07 01:37:13.621 E/Xposed  ( 5651): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:115)
07-07 01:37:23.355 E/Xposed  ( 6094): java.lang.NoSuchMethodError: android.widget.TextView#getSmallTime()#exact
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:181)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:131)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.StatusbarClock.hookGetSmallTime(StatusbarClock.java:116)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.StatusbarClock.setClock(StatusbarClock.java:93)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.ModStatusBar.prepareLayout(ModStatusBar.java:363)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.ModStatusBar.access$40(ModStatusBar.java:324)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.ceco.lollipop.gravitybox.ModStatusBar$8.afterHookedMethod(ModStatusBar.java:653)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:664)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.phone.PhoneStatusBar.makeStatusBarView(<Xposed>)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.phone.PhoneStatusBar.addStatusBarWindow(PhoneStatusBar.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.phone.PhoneStatusBar.createAndAddWindows(PhoneStatusBar.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.BaseStatusBar.start(BaseStatusBar.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:650)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.BaseStatusBar.start(<Xposed>)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.phone.PhoneStatusBar.start(PhoneStatusBar.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.SystemBars.createStatusBarFromConfig(SystemBars.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.SystemBars.onNoService(SystemBars.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.ServiceMonitor.startService(ServiceMonitor.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.ServiceMonitor.access$000(ServiceMonitor.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.systemui.statusbar.ServiceMonitor$1.handleMessage(ServiceMonitor.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at android.os.Handler.dispatchMessage(Handler.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at android.os.Looper.loop(Looper.java)
07-07 01:37:23.355 E/Xposed  ( 6094): at android.app.ActivityThread.main(ActivityThread.java:5254)
07-07 01:37:23.355 E/Xposed  ( 6094): at java.lang.reflect.Method.invoke(Native Method)
07-07 01:37:23.355 E/Xposed  ( 6094): at java.lang.reflect.Method.invoke(Method.java:372)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
07-07 01:37:23.355 E/Xposed  ( 6094): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
07-07 01:37:23.355 E/Xposed  ( 6094): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:115)

Any clue?

Inviato dal mio XT1032 utilizzando Tapatalk
Regarding error coming from GB module, I checked the code and error is handled OK so it shouldn't cause SystemUI crash.
I guess SystemUI crash is most likely caused by unhandled exception in Lollistat module. Test with that module disabled to see if you get different results.
 

Ok_Kaleidoscope5109

Senior Member
Dec 29, 2009
2,624
709
@C3C076

Slightly different topic than my previous post, but what would you say to include the option to tweak AOSP/Google Keyboard vertical height?

My opinion is that with larger and larger phones, the vertical spacing is scaling far too much. A quick comparison can be made to the iPhone 5, 6, 6+ where the 6+ has a far shorter software keyboard than my OnePlus One. It makes it ergonomically more and more challenging to reach so far. Many other keyboards like Swiftkey, etc. already have a vertical height toggle, but Google Keyboard lacks this.

Some other modules can do this like Flat Style COlored Keyboard, but it also requires you to theme your keyboard. Xcooldroid doesn't work on 5.1.1 either.
 

Reechings

Senior Member
Jan 22, 2012
5,312
1,381
Google Pixel 6 Pro
Is there any way to get rid of the smart lock unlock symbol on the lockscreen when on trusted WiFi? On my previous ROM it would automatically skip the lockscreen but on my new ROM it still asks me to swipe. I would be lying if I said I am on stock Android but I was hoping for some possible insight. Thanks!
 

Woalk

Senior Member
Oct 27, 2013
264
595
woalk.com
Concerning the new "Dual mode" for cellular data toggle:
It overlaps Wi-Fi and Bluetooth toggle so that their separators interfere (see attachment).
Is it possible to either implement...
  • Removing "Dual mode" from Wi-Fi or Bluetooth as an option, so that you can basically choose which two tiles are in "Dual mode".
  • Making icon areas smaller. They only need to be as long as their TextViews (with short net names), or, each toggle could be shrinked by 1/4 or 1/3 in its (fixed) width. Last one would look nicer because of the same size for all three toggles.

Additionally, where I am in Roaming state right now:
Maybe an option to show the H/E/G additionally to the R would be nice. Currently it never shows data mode while roaming.
 
Last edited:

alessio89g

Senior Member
Mar 22, 2014
499
104
GB 5.1.4 works with Xposed v65 for Lollipop 5.1.1 by romracer?
Any issue?
I currently use the modded version by C3C076 in Official LMY48B 5.1.1_r3 Google Firmware on my Nexus 5.
 

Top Liked Posts

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

    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 Marshmallow is available in this thread: http://xdaforums.com/showthread.php?t=3251148

    READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER
    Version for Lollipop has been tested on Nexus 5 and thus should be compatible with all the Nexus devices running stock Google system. Starting with v5.0.3alpha, compatibility with Motorola Moto G Dual SIM (and potentially other Motorola devices) has been improved.

    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 5 (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 5 (AOSP)
    - supports "Google devices" like Nexus, HTC One Google play edition, and others running vanilla Android 5
    - supports Motorola Moto G Dual SIM running stock Lollipop
    - supports Zopo Speed 7 running Lollipop 5.1 and potentially other MediaTek devices running Lollipop 5.1
    - 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 5 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 Lollipop version has been developed and tested on Nexus 5

    Installation
    1) Follow instructions for installation of Xposed Framework alpha version for Lollipop
    In case of Lollipop 5.1, make sure to use unofficial Xposed Framework Alpha.

    2) Download, GravityBox APK from the second post, rename it to GravityBox.apk and install it.
    Alternatively, you can download the latest GravityBox directly from Xposed Installer (search for GravityBox [LP] 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/lollipop/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/lollipop
    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/lollipop/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/lollipop/CHANGELOG.txt

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

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

    Xposed Package Name: com.ceco.lollipop.gravitybox

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

    Created 2015-02-22
    Last Updated 2018-09-23
    268
    Changelog 5.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 5.5.2->5.6.0
    75
    What's missing in version for Lollipop 5.1 compared to 5.0
    - unlinked ringer/notification control volumes cannot be controlled within Sound&notification settings, only within expanded volume panel.

    What's missing in version for Lollipop compared to KitKat
    - No ring targets in lock screen - obsolete in Lollipop as there is no ring security screen available
    - No ring targets in navbar - Google replaced search panel with completely different one
    having simple circle with one target. It's not using GlowPadView anymore. In order to implement ring targets
    as we know them from Kitkat would probably be to completely replace stock search panel with the one from Kitkat
    - Brightness control currently doesn't work in lock screen as status bar is covered with keyguard panel
    - and maybe some other smaller features I forgot to mention, mainly since they were obsolete in Lollipop
    Full commit history can be found in project's github.

    Other remarks
    - Although LP comes with native "quiet hours", I decided to keep UNC Quiet hours.
    There's a freedom of choice to either use stock Interruptions system or GB's quiet hours
    - Battery style and percent revised to support new status bar which has 3 modes: normal, keyguard, header
    - Brightness control now works with Auto adjustment turned on the similar way as brightness slider in quick settings
    - Low battery warning changed as there is no Low battery warning dialog anymore
    - Ascending ringtone has been reworked completely (thanks to CM12)
    - million of other small adjustments - you'll find out for yourself :)
    58
    New version announcement

    Version 5.1.0 available

    Changelog 5.1.0 - 16/05/2015
    - Adjusted for Lollipop 5.1 compatibility

    Important info
    - in case you are running Lollipop 5.1, make sure you have the latest unofficial Xposed Framework SuperAlpha for Lollipop 5.1 before installing GB
    - this version was tested on Nexus 5 running:
    --- stock 5.0.1 (LRX22C)
    --- stock 5.1.0 (LMY47I)
    --- AOSP 5.1.1 built from source (LMY47V)
    It is not guaranteed it will work on other, non-Google/non-AOSP devices, so issues should be expected.
    Make sure you have a nandroid backup before trying.
    - avoid using soft reboot feature as it will most likely cause your apps to be rebuilt (optimized) from scratch which takes some time
    - check the 3rd post to find out what's missing in version 5.1 compared to 5.0

    Complete commit history for 5.0.10->5.1.0
    46
    Plans are as follows.
    - to release another unofficial (super alpha) version of xposed framework for 5.1.0 and 5.1.1
    - to adjust GravityBox for compatibility with 5.1.0 and 5.1.1 (this will take some time).