[Xposed] NeoPowerMenu - Create your own Power Menu

Search This thread
Here are the new logs

Please give this apk file a shot, little spoiler, it also contains all changes that are meant for the next official release ;D (Some might be buggy tho, so its basically a test release)

If it didn't changed , then give me a log with deep logging enabled and the command 'adb logcat -s "NPM"', start the app, execute whats not working and then give the entire log
I changed a lot of my debugging lines to give me more information on that main tag instead of splitting it more into multiple ones (before it was for example "NPM:blurTask" or "NPM:xposedDialog", but adb cant handle such tags which contain a ":")
 

Attachments

  • app-release.apk
    3.1 MB · Views: 18
  • Like
Reactions: Stoutpuppy GFX

Stoutpuppy GFX

Senior Member
Apr 18, 2016
292
636
Bangkok
logs attached

Please give this apk file a shot, little spoiler, it also contains all changes that are meant for the next official release ;D (Some might be buggy tho, so its basically a test release)

If it didn't changed , then give me a log with deep logging enabled and the command 'adb logcat -s "NPM"', start the app, execute whats not working and then give the entire log
I changed a lot of my debugging lines to give me more information on that main tag instead of splitting it more into multiple ones (before it was for example "NPM:blurTask" or "NPM:xposedDialog", but adb cant handle such tags which contain a ":")

ok still same problem - disable blur or set blur radius to zero and transparency disappears logs attached
I know from your end you want to zero in on these bugs - but it's working as I need it to
but I'm happy to help test for you to sort this out for other users who may be facing similar problems
 

Attachments

  • Log_2017-11-07_00-01-32.txt
    2.5 KB · Views: 6
I had just opened the following, new issue, within Github @DrAcHe981...

https://github.com/DrAcHe981/NeoPowerMenu/issues/21

This issue isn't that complicated to explain...

Basically, no matter what position I set for the power menu, it always reflects the same results on being placed on the top of the screen.

I had uploaded 4 example screenshots in support of what I'm explaining.

Thank you very much for your time, development and understanding!


~~~~~~~~~~~~~~~
I DO NOT PROVIDE SUPPORT VIA PM UNLESS ASKED/REQUESTED BY MYSELF.
PLEASE KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE
 

Attachments

  • 1-Power-Menu_Top-Setting.png
    1-Power-Menu_Top-Setting.png
    36.2 KB · Views: 86
  • 2-Power-Menu_Center-Setting.png
    2-Power-Menu_Center-Setting.png
    50.8 KB · Views: 92
  • 3-Power-Menu_Bottom-Setting.png
    3-Power-Menu_Bottom-Setting.png
    51.1 KB · Views: 90
  • 4-Power-Menu_Results.png
    4-Power-Menu_Results.png
    36.2 KB · Views: 86
I had just opened the following, new issue, within Github @DrAcHe981...

https://github.com/DrAcHe981/NeoPowerMenu/issues/21

This issue isn't that complicated to explain...

Basically, no matter what position I set for the power menu, it always reflects the same results on being placed on the top of the screen.

I had uploaded 4 example screenshots in support of what I'm explaining.

Thank you very much for your time, development and understanding!


~~~~~~~~~~~~~~~
I DO NOT PROVIDE SUPPORT VIA PM UNLESS ASKED/REQUESTED BY MYSELF.
PLEASE KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE
As answered on github:

It looks to me like you have the full screen theme activated, that theme doesn't supports dialog position changes as it's covering the entire screen with the list view.

If that's not the case then I need an logcat with the tag filter set to "NPM", calculation problems should appear there.
 

BeachNYC

Senior Member
Sep 1, 2014
126
45
Google Pixel 6 Pro
Error Logs

I'd need the xposed log and/or a catlog to say more about it, if I can't find anything there then I'd need to take a look at the rom source which would take some time.

Hi:

I've attached the xposed error report, and the url for the bugreport is:
https://drive.google.com/file/d/1a-kO26xEZJo9zoGqWLdurH-wsPRj10yf/view?usp=sharing .

Note that I had enabled deep logging in NeoPower, but it does not seem to have done so.

Thanks again for your app, and for your help.
 

Attachments

  • xposed_error_20171113_144848.log
    94.4 KB · Views: 10
Hi:

I've attached the xposed error report, and the url for the bugreport is:
https://drive.google.com/file/d/1a-kO26xEZJo9zoGqWLdurH-wsPRj10yf/view?usp=sharing .

Note that I had enabled deep logging in NeoPower, but it does not seem to have done so.

Thanks again for your app, and for your help.
Deep logging not being able to be activated is a known problem with the preferences not being readable by xposed during boot on marshmallow and higher roms, is fixed in next release...

According to the log the hook is working fine... (errors are logged no matter if deep logging is enabled or not)
And because of that preferences bug it also didn't even enabled the experimental hook in the first try

Please check out this answer from me https://xdaforums.com/showpost.php?p=74417685&postcount=966 and install that version, in that version the preferences bug is fixed.
Unfortunately it seems like either the rom on the oneplus 3 replaces it itself, or isn't even using the stock showDialog from android, in that case i would need to find another way to directly hook the power button, i think that'll remove the ability to set other actions on that button tho (like if the phone or another module adds a double press action or similar)
 

ninestarkoko

Senior Member
Nov 26, 2013
515
212
Tasker doesn't have it. Use AutoShortcut plugin from Joao Dias.

Worked all night for this... But stay tuned, I'm gonna fix some bugs and test a bit (maybe also try to get my translators up X.x)

Or simply use Automagic wich supports shortcuts and other features that are provided by plugins on tasker...
I agree on shortcuts being the easiest way to support custom actions/triggers from apps and automation apps in NeoPowerMenu.

Really nice to see developement is still on and strong!
Not sure if it's been already reported but i see a kind of "flickering"/ menu misalignement in the latest version, probably due to the new position feature.
Here's the video:
https://ufile.io/j9hdy

The Confirmation dialog immediately changes position after appearing so giving a flikering effect.
I don't know any other english word to describe this phenomenon, sorry.
 
Not sure if it's been already reported but i see a kind of "flickering"/ menu misalignement in the latest version, probably due to the new position feature.
Here's the video:
https://ufile.io/j9hdy

The Confirmation dialog immediately changes position after appearing so giving a flikering effect.
I don't know any other english word to describe this phenomenon, sorry.
Yeah, that's most probably caused by the new position system, it uses a different approach compared to previous releases, using a padding value that updates whenever the size of the container changes, since I added the new positioning I'm working on fixing that, but so far it's just a little cosmetics problem, not as big as some other bugs on my list...

Hi. Can your add support miui please?
Try enabling the experimental hook found in the advanced settings, it might work, if not then it's like with the OnePlus devices that they changed how the power menu is activated, but still have the android original functions without ever calling them. (And that's why my module isn't throwing errors)

Still trying to find a solution for this which isn't causing even more problems
 
  • Like
Reactions: ninestarkoko

Artieza

Senior Member
Mar 17, 2016
467
173
LG G8
LG V60 ThinQ
java.lang.RuntimeException: Unable to start activity ComponentInfo{de.NeonSoft.neopowermenu/de.NeonSoft.neopowermenu.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2331)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2393)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference
at de.NeonSoft.neopowermenu.helpers.WorldReadablePrefs.<init>(WorldReadablePrefs.java:52)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.<init>(SettingsManager.java:76)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.getInstance(SettingsManager.java:88)
at de.NeonSoft.neopowermenu.MainActivity.onCreate(MainActivity.java:109)
at android.app.Activity.performCreate(Activity.java:6021)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2284)
... 11 more
 
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference
at de.NeonSoft.neopowermenu.helpers.WorldReadablePrefs.<init>(WorldReadablePrefs.java:52)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.<init>(SettingsManager.java:76)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.getInstance(SettingsManager.java:88)
Punch me please... I did one of my typical dumb mistakes again, the "WorldReadablePrefs" is a new class I took to fix the settings not being readable on nougat and above, but I forgot while writing to make cases for pre nougat devices, and since both my testing devices are nougat, I didn't noticed it...

Now it's crashing because the "Device Protected Context" is never created (at least that's my guess now)

Would you be so kind to test the attached version?
 

Attachments

  • app-release-2.apk
    3.2 MB · Views: 14

Artieza

Senior Member
Mar 17, 2016
467
173
LG G8
LG V60 ThinQ
Would you be so kind to test the attached version?
java.lang.NoSuchMethodError: No virtual method getDataDir()Ljava/io/File; in class Landroid/content/Context; or its super classes (declaration of 'android.content.Context' appears in /system/framework/framework.jar)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.registerFileObserver(SettingsManager.java:185)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.<init>(SettingsManager.java:80)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.getInstance(SettingsManager.java:88)
at de.NeonSoft.neopowermenu.MainActivity.onCreate(MainActivity.java:109)
at android.app.Activity.performCreate(Activity.java:6021)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2284)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2393)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
 
java.lang.NoSuchMethodError: No virtual method getDataDir()Ljava/io/File; in class Landroid/content/Context; or its super classes (declaration of 'android.content.Context' appears in /system/framework/framework.jar)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.registerFileObserver(SettingsManager.java:185)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.<init>(SettingsManager.java:80)
at de.NeonSoft.neopowermenu.helpers.SettingsManager.getInstance(SettingsManager.java:88)
I wish my previous device with android L would still work, it'll make this much easier -.-"

Anyways, another shot here I come, let's see if it hates me once again (android studio didn't said anything this time about the function being sdk 24+, so I blame android studio for it)
 

Attachments

  • app-release-2.apk
    3.2 MB · Views: 14

Artieza

Senior Member
Mar 17, 2016
467
173
LG G8
LG V60 ThinQ
Problem: you forbid shutting down to the system. I have LG device so I can call original power menu. Nothing happens when I press shut down.

It leads to more deep and dangerous problem when energy is low and system tries to shut down itself, it goes to the loop with shut down calls.
 
Last edited:
Problem: you forbid shutting down to the system. I have LG device so I can call original power menu. Nothing happens when I press shut down.

It leads to more deep and dangerous problem when energy is low and system tries to shut down itself, it goes to the loop with shut down calls.
Before we start this reply, sorry if the reply is a bit too long, I kinda have the habit to always explain what exactly my stuff is doing xD
- - - - -
That's weird, especially since I'm not touching the android default shutdown at all, and that's what's triggered when battery is low, or when you press stuff in the original menu (and also I still don't get why lg seems to not use the normal function to show the power menu)

My module is hooking into the "showDialog" of the GlobalActionsDialog class, which is the stock power menu, the actual stock reboot process tho is in the ShutdownThread class, I was trying stuff with that class, but absolutely none of my test stuff is in the public releases, so I don't think my module is really the cause of this...

And since you're able to bring up the stock menu, my other hooks into the GlobalActionsDialog class are also ignored, and I also didn't changed them in that update (LG seems to somehow have it's complete own class for the dialog )

But anyways, I would need a logcat to look into it if it's containing something about what's happening :T

Also I can't reproduce it on my phone as my phones never doing the low battery shutdown because of broken battery, and I also can't show the stock menu on it
 

Artieza

Senior Member
Mar 17, 2016
467
173
LG G8
LG V60 ThinQ
Before we start this reply, sorry if the reply is a bit too long, I kinda have the habit to always explain what exactly my stuff is doing xD
- - - - -
That's weird, especially since I'm not touching the android default shutdown at all, and that's what's triggered when battery is low, or when you press stuff in the original menu (and also I still don't get why lg seems to not use the normal function to show the power menu)

My module is hooking into the "showDialog" of the GlobalActionsDialog class, which is the stock power menu, the actual stock reboot process tho is in the ShutdownThread class, I was trying stuff with that class, but absolutely none of my test stuff is in the public releases, so I don't think my module is really the cause of this...

And since you're able to bring up the stock menu, my other hooks into the GlobalActionsDialog class are also ignored, and I also didn't changed them in that update (LG seems to somehow have it's complete own class for the dialog )

But anyways, I would need a logcat to look into it if it's containing something about what's happening :T

Also I can't reproduce it on my phone as my phones never doing the low battery shutdown because of broken battery, and I also can't show the stock menu on it
Many words, totally wrong. ? You rape com.android.server.power.ShutdownThread. Rebuild the function to stop displaying the default shutdown loading dialog.

11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] Loading Power Menu...
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] Detected 5.0.2(21), injecting to:
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] com.android.internal.policy.impl.GlobalActions
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] com.android.internal.policy.impl.PhoneWindowManager
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] com.android.server.power.ShutdownThread
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] com.android.server.pm.PackageManagerService
11-24 20:11:45.968 I/Xposed ( 1675): [NeoPowerMenu] Getting permissions, using method for lollipop and above...
11-24 20:11:45.974 I/Xposed ( 1675): [NeoPowerMenu] Permission request hooked.
11-24 20:11:45.974 I/Xposed ( 1675): [NeoPowerMenu] Hooking (replace) com.android.internal.policy.impl.GlobalActions Constructor...
11-24 20:11:45.975 I/Xposed ( 1675): [NeoPowerMenu] Registering Broadcast Receiver and setting other values...
11-24 20:11:45.976 I/Xposed ( 1675): [NeoPowerMenu] Hooking (replace) com.android.internal.policy.impl.GlobalActions#showDialog...
11-24 20:11:45.978 I/Xposed ( 1675): [NeoPowerMenu] Replaced with showDialog(), just executing startActivity() to start my own dialog.
11-24 20:11:45.979 I/Xposed ( 1675): [NeoPowerMenu] Hooking (replace) com.android.internal.policy.impl.GlobalActions#createDialog...
11-24 20:11:45.982 I/Xposed ( 1675): [NeoPowerMenu] Replaced with empty method to prevent crashes.
11-24 20:11:45.983 I/Xposed ( 1675): [NeoPowerMenu] Hooking (replace) com.android.internal.policy.impl.GlobalActions#onAirplaneModeChanged...
11-24 20:11:45.985 I/Xposed ( 1675): [NeoPowerMenu] Replaced with empty method to prevent crashes.
11-24 20:11:45.985 I/Xposed ( 1675): [NeoPowerMenu] Hooking (after) com.android.server.power.ShutdownThread constructor...
11-24 20:11:45.986 I/Xposed ( 1675): [NeoPowerMenu] Getting needed values...
11-24 20:11:45.986 I/Xposed ( 1675): [NeoPowerMenu] Hooking (after) com.android.server.power.ShutdownThread#beginShutdownSequence...
11-24 20:11:45.987 I/Xposed ( 1675): [NeoPowerMenu] Rebuild the function to stop displaying the default shutdown loading dialog...
11-24 20:11:45.987 I/Xposed ( 1675): [NeoPowerMenu] Loading complete, all hooks executed.
 
Last edited:
Many words, totally wrong. ? You rape com.android.server.power.ShutdownThread constructor.

11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] Loading Power Menu...
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] Detected 5.0.2(21), injecting to:
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] com.android.internal.policy.impl.GlobalActions
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] com.android.internal.policy.impl.PhoneWindowManager
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] com.android.server.power.ShutdownThread
11-24 20:11:45.962 I/Xposed ( 1675): [NeoPowerMenu] com.android.server.pm.PackageManagerService
11-24 20:11:45.968 I/Xposed ( 1675): [NeoPowerMenu] Getting permissions, using method for lollipop and above...
11-24 20:11:45.974 I/Xposed ( 1675): [NeoPowerMenu] Permission request hooked.
11-24 20:11:45.974 I/Xposed ( 1675): [NeoPowerMenu] Hooking (replace) com.android.internal.policy.impl.GlobalActions Constructor...
11-24 20:11:45.975 I/Xposed ( 1675): [NeoPowerMenu] Registering Broadcast Receiver and setting other values...
11-24 20:11:45.976 I/Xposed ( 1675): [NeoPowerMenu] Hooking (replace) com.android.internal.policy.impl.GlobalActions#showDialog...
11-24 20:11:45.978 I/Xposed ( 1675): [NeoPowerMenu] Replaced with showDialog(), just executing startActivity() to start my own dialog.
11-24 20:11:45.979 I/Xposed ( 1675): [NeoPowerMenu] Hooking (replace) com.android.internal.policy.impl.GlobalActions#createDialog...
11-24 20:11:45.982 I/Xposed ( 1675): [NeoPowerMenu] Replaced with empty method to prevent crashes.
11-24 20:11:45.983 I/Xposed ( 1675): [NeoPowerMenu] Hooking (replace) com.android.internal.policy.impl.GlobalActions#onAirplaneModeChanged...
11-24 20:11:45.985 I/Xposed ( 1675): [NeoPowerMenu] Replaced with empty method to prevent crashes.
11-24 20:11:45.985 I/Xposed ( 1675): [NeoPowerMenu] Hooking (after) com.android.server.power.ShutdownThread constructor...
11-24 20:11:45.986 I/Xposed ( 1675): [NeoPowerMenu] Getting needed values...
11-24 20:11:45.986 I/Xposed ( 1675): [NeoPowerMenu] Hooking (after) com.android.server.power.ShutdownThread#beginShutdownSequence...
11-24 20:11:45.987 I/Xposed ( 1675): [NeoPowerMenu] Rebuild the function to stop displaying the default shutdown loading dialog...
11-24 20:11:45.987 I/Xposed ( 1675): [NeoPowerMenu] Loading complete, all hooks executed.
Okay... That's more than weird?!
The hook on the shutdown thread is in an if statement, but the conditions for it should never be true, it's hard coded to false during start-up of the script!

But as I know me I most probably simply missed one small and hidden debug line -.-"

There will most probably come an update just for that then soon (and some other bugs would be fixed there too)

(ps... I should sleep more, that could prevent such situations -.-)
 
Last edited:
  • Like
Reactions: Ibuprophen

Top Liked Posts

  • There are no posts matching your filters.
  • 97
    Heyho fellow people of XDA, I'm here to proudly present my first Xposed module!

    NeoPowerMenu is an replacement for androids stock power menu, it gives the ability to customize the entire power menu how you like!
    You can freely change the colors, graphics, whats displayed, and much more!

    Don't like your default power menu colors?
    Then change them!
    To do this, simply tap on "Theme" in the apps main screen and change every color of it, or download one of the various community made presets!​

    Need more unique graphics?
    Then the "Graphics" screen is the right thing for you! Try it out and pick your favorite graphics!​

    Want to have your favorite apps, shortcuts, or similar in your power menu?
    No problem for NeoPowerMenu, just tap on "Visibility and order" in the apps main menu, then tap on the + in the top right of the screen to add new elements!​

    This module is not compatible with any other Module that performs Power Menu Modifications...(my module will try to overwrite the other modifications)

    Main features:
    • Replace the Default power menu
    • Additional reboot options (For example: bootloader, safe mode, recovery mode)
    • Change the colors and save/load presets
    • 3 Built in presets (Light, Dark, Black)
    • Online preset server with over 250 community made presets (Containing custom graphics and colors)
    • Choose which items are displayed
    • Reorder the items as you wish
    • Multi Language, currently supported: English, German, Russian, Polish and Portuguese and more

    Download from:

    Other links:

    Screenshots:

    Screenshot_2016-02-27-21-13-32.pngScreenshot_2016-02-27-21-13-42.pngScreenshot_2016-02-27-21-14-14.pngScreenshot_2016-02-27-21-14-36.pngScreenshot_2016-02-27-21-14-43.pngScreenshot_2016-02-27-21-14-51.pngScreenshot_2016-02-27-21-15-01.pngScreenshot_2016-02-27-21-15-48.pngScreenshot_2016-02-27-21-16-06.png

    ~ Sorry when my english is not the best

    Current Version:
    Stable: v1.5.7
    Package name: de.NeonSoft.neopowermenu
    Size: ~3,43mb
    13
    Man, quite some time passed since I last appeared alive in here...

    Had a lot of private issues to sort out, some as serious as almost living under a bridge, but anyways, that's mostly sorted now!

    And with that being sorted I began some big project just a few days ago...
    I'm working on NeoPowerMenu v2.0, a complete rewrite of the entire app!

    It'll be more dynamic, more customizable, more your completely custom power menu! (and hopefully also more stable and smooth)

    But be patient with me, I still have a very tight time table, and a project from square zero will take quite some time... I only have a few hours every evening to work on the app... and those hours are also shared with my other projects for other website services...

    But eventually we will receive a completely new NeoPowerMenu with way more customizable features waiting for us all!
    I'm even trying to accomplish most of it without the use of root or xposed! (we will see how that goes, but I try to only use root/xposed if it really won't work without it)
    7
    Here it comes: the v1.5 is online!
    Download over the xposed repository, can't upload now in the first post, bad network connection...

    Changes (warning huge changelog):
    - Removed 'Waiting for root... ' Dialog. (moved it to the Root and Xposed info as an simple progress bar)
    # Reduced opening time.
    # NPM will now hide when the screen gets turned off and when other system dialogs open.
    # Reordered Colors list: both colors for one item are now together.
    # Reworked Visibility and Order list handler.
    # Reworked permissions system: Not all permissions are needed to work, you can select what you want to grant! ( not granted permissions will cause some functions to stop working...), only Android 6.0+
    # Reworked Presets system, faster loading and saving.
    # Reworked Presets import, now NeoPowerMenu won't open every file type, to open nps files as themes open them as text files.
    + Added new items: Airplane Mode, Restart System UI and Sound Mode.
    + Added the ability to hide item descriptions, for example you can hide the Soft Reboot description. (Checkbox for this is in the visibility and order screen)
    + Added the preset server, feel free to upload your presets!
    7
    Now I'm back at active work, and I will try to publish a new update in the next days...

    This update will mainly contain bug fixes:
    A fix for the color picker crash,
    for the upload crash and some changes to the login system (add the ability to update/delete your own presets on every device where you log in with your account, currently it's limited to the device where the preset gets firstly uploaded)
    Also I will (again) try to fix the transparency issue...

    Additionally I have added a custom crash activity which has a button to directly display the part that caused the crash, also I've added an automatic crash reporter which should send the needed information directly to my server!
    6
    Hi, thanks for this great xposed module.
    Any way to make it like this (https://dribbble.com/shots/1987775-Advanced-Power-Menu-concept-applied-in-the-Nexus-5)
    This is the second concept by Igor Silva
    I think I have the perfect place for such an option, currently we have only "Material" -> but we could also have "Material Fullscreen"

    Will come in a next update!