[APP][ROOT][11+][03/02] Classic Power Menu - Power Menu Replacement w/ Wallet, Controls on Android 11, 12, 13, 14+

Search This thread

Quinny899

Recognized Developer / Recognized Contributor
Jan 26, 2011
9,427
8,752
26
Salford, Greater Manchester, UK
quinny898.co.uk
DonYhMA.png


Classic Power Menu is a Power Menu Replacement for Android 11+, with the main aim being restoring power menu options (Device Controls & Quick Access Wallet) on Android 12.

Classic Power Menu Requires root access to function, it is not possible without root

Please read the FAQ before downloading or replying with an issue


Features​

  • Up to 10 power options in the Power Menu, including the non-stock options of Screenshot, Reboot Recovery, Reboot Bootloader and Restart SystemUI
    • Fully customisable, including rearranging and hiding buttons you don't use
  • Quick Access Wallet in the Power Menu, accessible while locked or unlocked
    • Optional blurring of card numbers while locked
    • Optional showing of loyalty cards, restoring a previous feature from Android 10 which was removed. Loyalty cards' codes can be shown while locked and without needing to open Google Pay, if you wish.
  • Device Controls in the Power Menu, accessible while locked or unlocked
    • Optional ability to interact with controls while locked, without requiring authentication
  • Material You inspired theme, using Monet colours and background blur on the Power Menu
  • Xposed is not required, interception of the power button is done via Accessibility Service, with only normal root required
    • An optional Xposed module is included, which can react quicker than the Accessibility Service

Screenshots​




Download​

Download the latest release from the GitHub Releases page

Changelog​

1.7.2
- OneUI support for Xposed module, thanks lonelytransistor
- Updated target Android version to 14
- Dependency updates

1.7.1
- Fixed power menu not launching on Android 14 when using Xposed method
- Added workaround for controls disconnecting, thanks js6pak
- Merged in fix for Controls editing not working on some devices, thanks rom4ster

1.7
- Fixed crash on Android 14 Beta 3
- Enabled predictive back
- Added ability to open Power Menu as an assistant app - there's no UI for this so you'll need to set it as your default assistant yourself.

1.6.2
- Actually fixed Loyalty Card listing, thanks to rom4ster for your help figuring out the cause

1.6.1
- Fixed crash on Android 14 Beta 1
- Improved logic around Loyalty Card lookup which may fix cards not showing up for some
- Updated translations

1.6
- Google Pay -> Google Wallet
- Fixed crash when using blurred card numbers on some Android versions
- Increased blur for card numbers to make them even less readable
- Added fastbootd and download mode options - these will only work on devices with that mode
- Updated translations and added Crowdin support - Thanks andrii-bodnar
- Fixed crashes

1.5.1
- Fixed crash on July security patch

1.5
- Support for Android 13 B3
- Fixed Xposed module for Android 13
- Merged translations, thanks Vladi69 and C0unt-zero
- Allowed wallet to be shown for just loyalty cards if no regular cards are returned

1.4.2
Fixed Xposed module not working on some AOSP devices
Thanks to hacker1024 on GitHub for the fix

1.4.1
- Fixed crash on 12L
- Improved dialog blur on 12+
- Added monochrome icon for Android 13

1.4
- Added support for Android 12L & 13 DP2
- Added option to use a solid background on the power menu
- Added option to restart SystemUI
- Added app shortcut to launch power menu directly. You can also launch this using the Intent Uri classicpowermenu://menu

1.3.1
- Fixed crash on Android 13

1.3
- Fixed background blur on Android 12
- Added toggles for auto rotation & full sensor rotation (including upside down). Rotation is enabled by default, full sensor is not.

Content Creators​

If you are making a video or article about Classic Power Menu, you will want to hide your card numbers. Enable the developer options in Classic Power Menu by triple tapping the "About" option, and enable Content Creator Mode. This will always blur your card numbers and will show a fake QR code for loyalty cards, keeping your data safe.
 
Last edited:

pbanj

Senior Member
Dec 22, 2011
997
466
it works pretty good, but i noticed that with lsposed it still asks for you to activate the accessibility service during setup.
also it seems after a reboot the first time you open the power menu it is using the stock power menu. but only that 1 time, every time after it's the one from this. it's probably something android related and out of your control, but i figured i would let you know anyways.
not sure if this is a bug or a design choice but the menu is transparent other than the power/reboot area, it would be nice if it wasnt transparent at all or at least a toggle for it


pixel 5a, rooted stock.
1632702610266.png
 

Quinny899

Recognized Developer / Recognized Contributor
Jan 26, 2011
9,427
8,752
26
Salford, Greater Manchester, UK
quinny898.co.uk
it works pretty good, but i noticed that with lsposed it still asks for you to activate the accessibility service during setup.
also it seems after a reboot the first time you open the power menu it is using the stock power menu. but only that 1 time, every time after it's the one from this. it's probably something android related and out of your control, but i figured i would let you know anyways.
not sure if this is a bug or a design choice but the menu is transparent other than the power/reboot area, it would be nice if it wasnt transparent at all or at least a toggle for it


pixel 5a, rooted stock.
View attachment 5419701
You need to reboot after enabling the module, then it will detect during the setup and not ask to enable accessibility.

The background is supposed to be blurred. What Android version are you on?
 

pbanj

Senior Member
Dec 22, 2011
997
466
You need to reboot after enabling the module, then it will detect during the setup and not ask to enable accessibility.

The background is supposed to be blurred. What Android version are you on?
i've rebooted multiple times and it still shows the screen asking to enable the accessibility service. thats why i mentioned it.

andorid 11 the September update
 

Quinny899

Recognized Developer / Recognized Contributor
Jan 26, 2011
9,427
8,752
26
Salford, Greater Manchester, UK
quinny898.co.uk
Version 1.1 now available with some bug fixes:

  • Fixed background blur check, added workaround info to faq for enabling it on 11
  • Fixed crash when wallpaper changes sometimes
  • Fixed crash when updating sometimes
  • Added option to skip accessibility page during setup for Xposed users with broken self-hooking
Download on GitHub, or in the app. You may see a crash when opening with the update, if this happens just go to the GitHub and download the update manually, it's fixed in this update for next time.

@pbanj and anyone else with blur issues, you need to run the shell commands in the FAQ to enable blur across the system for it to work. Note that doing so will also apply blur to other parts of SystemUI, so obviously don't do this if you don't want it. Classic Power Menu will use a solid background if blurs aren't supported now.
 
  • Like
Reactions: NeonHD

Enddo

Senior Member
Oct 31, 2013
2,064
880
Atlanta, Ga.
www.youtube.com
If it's crashing, send a logcat. If it's just straight up not working, it's probably MIUI's customisation and not a lot can be done.

I'm not seeing any specific app crash popups. But if you think a logcat taken after pressing the power button will help, I'll be happy to send one along.

I just see the usual MIUI power menu appear when long pressing the power button (after granting root and enabling the accessibility service)
 

Attachments

  • Screenshot_2021-09-27-15-36-44-460_com.android.settings.jpg
    Screenshot_2021-09-27-15-36-44-460_com.android.settings.jpg
    97.5 KB · Views: 326
  • Screenshot_2021-09-27-15-36-50-182_com.android.settings.jpg
    Screenshot_2021-09-27-15-36-50-182_com.android.settings.jpg
    118.3 KB · Views: 319

pbanj

Senior Member
Dec 22, 2011
997
466
Version 1.1 now available with some bug fixes:


Download on GitHub, or in the app. You may see a crash when opening with the update, if this happens just go to the GitHub and download the update manually, it's fixed in this update for next time.

@pbanj and anyone else with blur issues, you need to run the shell commands in the FAQ to enable blur across the system for it to work. Note that doing so will also apply blur to other parts of SystemUI, so obviously don't do this if you don't want it. Classic Power Menu will use a solid background if blurs aren't supported now.

Works, thanks for the fast fix.
 

Attachments

  • Screenshot_20210927-155609.png
    Screenshot_20210927-155609.png
    129.6 KB · Views: 331

PritamGhosh8009

New member
Jun 3, 2017
3
0
Nothing is working... I have enabled both xposed module on lsposed and accessibility and rebooted multiple times... Still stock power menu appears

Using app version 1.1 on pixel 3a android 12 beta 5 gsi on Redmi S2

Edit: Working after system reinstalled
 
Last edited:

pbanj

Senior Member
Dec 22, 2011
997
466
I'm not seeing any specific app crash popups. But if you think a logcat taken after pressing the power button will help, I'll be happy to send one along.

I just see the usual MIUI power menu appear when long pressing the power button (after granting root and enabling the accessibility service)

Give that a try. It works great for catching logs for app crashes
 
  • Like
Reactions: Enddo and Quinny899

Enddo

Senior Member
Oct 31, 2013
2,064
880
Atlanta, Ga.
www.youtube.com

AyHenry

Member
Apr 7, 2020
37
9
Google Pixel 2 XL
FATAL EXCEPTION: main
Process: com.kieronquinn.app.classicpowermenu, PID: 14525
java.lang.NullPointerException: isAccessibilityServiceEnabled$default must not be null
at com.kieronquinn.app.classicpowermenu.utils.extensions.Extensions_AccessibilityServiceKt.isAccessibilityServiceEnabled$default(Extensions+AccessibilityService.kt:12)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckViewModelImpl$showNext$1.invokeSuspend(SetupRootCheckViewModel.kt:50)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:377)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckViewModelImpl.showNext(SetupRootCheckViewModel.kt:49)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckFragment.handleState(SetupRootCheckFragment.kt:38)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckFragment.access$handleState(SetupRootCheckFragment.kt:12)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckFragment$setupState$1$invokeSuspend$$inlined$collect$1.emit(Collect.kt:135)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:62)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.access$emitAllImpl(Channels.kt:1)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Unknown Source:13)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at androidx.lifecycle.DispatchQueue.drainQueue(DispatchQueue.kt:75)
at androidx.lifecycle.DispatchQueue.enqueue(DispatchQueue.kt:112)
at androidx.lifecycle.DispatchQueue.access$enqueue(DispatchQueue.kt:31)
at androidx.lifecycle.DispatchQueue$dispatchAndEnqueue$1$1.run(DispatchQueue.kt:100)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7842)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
 

AyHenry

Member
Apr 7, 2020
37
9
Google Pixel 2 XL
FATAL EXCEPTION: main
Process: com.kieronquinn.app.classicpowermenu, PID: 14525
java.lang.NullPointerException: isAccessibilityServiceEnabled$default must not be null
at com.kieronquinn.app.classicpowermenu.utils.extensions.Extensions_AccessibilityServiceKt.isAccessibilityServiceEnabled$default(Extensions+AccessibilityService.kt:12)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckViewModelImpl$showNext$1.invokeSuspend(SetupRootCheckViewModel.kt:50)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:377)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckViewModelImpl.showNext(SetupRootCheckViewModel.kt:49)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckFragment.handleState(SetupRootCheckFragment.kt:38)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckFragment.access$handleState(SetupRootCheckFragment.kt:12)
at com.kieronquinn.app.classicpowermenu.ui.screens.setup.rootcheck.SetupRootCheckFragment$setupState$1$invokeSuspend$$inlined$collect$1.emit(Collect.kt:135)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:62)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.access$emitAllImpl(Channels.kt:1)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Unknown Source:13)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at androidx.lifecycle.DispatchQueue.drainQueue(DispatchQueue.kt:75)
at androidx.lifecycle.DispatchQueue.enqueue(DispatchQueue.kt:112)
at androidx.lifecycle.DispatchQueue.access$enqueue(DispatchQueue.kt:31)
at androidx.lifecycle.DispatchQueue$dispatchAndEnqueue$1$1.run(DispatchQueue.kt:100)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7842)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
From scoop app.
V1.1 crashing on my pixel 3a xl running android 12 beta 5
 

Top Liked Posts

  • There are no posts matching your filters.
  • 32
    DonYhMA.png


    Classic Power Menu is a Power Menu Replacement for Android 11+, with the main aim being restoring power menu options (Device Controls & Quick Access Wallet) on Android 12.

    Classic Power Menu Requires root access to function, it is not possible without root

    Please read the FAQ before downloading or replying with an issue


    Features​

    • Up to 10 power options in the Power Menu, including the non-stock options of Screenshot, Reboot Recovery, Reboot Bootloader and Restart SystemUI
      • Fully customisable, including rearranging and hiding buttons you don't use
    • Quick Access Wallet in the Power Menu, accessible while locked or unlocked
      • Optional blurring of card numbers while locked
      • Optional showing of loyalty cards, restoring a previous feature from Android 10 which was removed. Loyalty cards' codes can be shown while locked and without needing to open Google Pay, if you wish.
    • Device Controls in the Power Menu, accessible while locked or unlocked
      • Optional ability to interact with controls while locked, without requiring authentication
    • Material You inspired theme, using Monet colours and background blur on the Power Menu
    • Xposed is not required, interception of the power button is done via Accessibility Service, with only normal root required
      • An optional Xposed module is included, which can react quicker than the Accessibility Service

    Screenshots​




    Download​

    Download the latest release from the GitHub Releases page

    Changelog​

    1.7.2
    - OneUI support for Xposed module, thanks lonelytransistor
    - Updated target Android version to 14
    - Dependency updates

    1.7.1
    - Fixed power menu not launching on Android 14 when using Xposed method
    - Added workaround for controls disconnecting, thanks js6pak
    - Merged in fix for Controls editing not working on some devices, thanks rom4ster

    1.7
    - Fixed crash on Android 14 Beta 3
    - Enabled predictive back
    - Added ability to open Power Menu as an assistant app - there's no UI for this so you'll need to set it as your default assistant yourself.

    1.6.2
    - Actually fixed Loyalty Card listing, thanks to rom4ster for your help figuring out the cause

    1.6.1
    - Fixed crash on Android 14 Beta 1
    - Improved logic around Loyalty Card lookup which may fix cards not showing up for some
    - Updated translations

    1.6
    - Google Pay -> Google Wallet
    - Fixed crash when using blurred card numbers on some Android versions
    - Increased blur for card numbers to make them even less readable
    - Added fastbootd and download mode options - these will only work on devices with that mode
    - Updated translations and added Crowdin support - Thanks andrii-bodnar
    - Fixed crashes

    1.5.1
    - Fixed crash on July security patch

    1.5
    - Support for Android 13 B3
    - Fixed Xposed module for Android 13
    - Merged translations, thanks Vladi69 and C0unt-zero
    - Allowed wallet to be shown for just loyalty cards if no regular cards are returned

    1.4.2
    Fixed Xposed module not working on some AOSP devices
    Thanks to hacker1024 on GitHub for the fix

    1.4.1
    - Fixed crash on 12L
    - Improved dialog blur on 12+
    - Added monochrome icon for Android 13

    1.4
    - Added support for Android 12L & 13 DP2
    - Added option to use a solid background on the power menu
    - Added option to restart SystemUI
    - Added app shortcut to launch power menu directly. You can also launch this using the Intent Uri classicpowermenu://menu

    1.3.1
    - Fixed crash on Android 13

    1.3
    - Fixed background blur on Android 12
    - Added toggles for auto rotation & full sensor rotation (including upside down). Rotation is enabled by default, full sensor is not.

    Content Creators​

    If you are making a video or article about Classic Power Menu, you will want to hide your card numbers. Enable the developer options in Classic Power Menu by triple tapping the "About" option, and enable Content Creator Mode. This will always blur your card numbers and will show a fake QR code for loyalty cards, keeping your data safe.
    8
    New version available
    1.7.2
    - OneUI support for Xposed module, thanks lonelytransistor
    - Updated target Android version to 14
    - Dependency updates
    Download from GitHub releases as usual
    6
    Version 1.5 released:

    - Support for Android 13 B3
    - Fixed Xposed module for Android 13
    - Merged translations, thanks Vladi69 and C0unt-zero
    - Allowed wallet to be shown for just loyalty cards if no regular cards are returned

    Download from GitHub releases as usual
    4
    New version available, 1.6:

    - Google Pay -> Google Wallet
    - Fixed crash when using blurred card numbers on some Android versions
    - Increased blur for card numbers to make them even less readable
    - Added fastbootd and download mode options - these will only work on devices with that mode
    - Updated translations and added Crowdin support - Thanks andrii-bodnar
    - Fixed crashes

    Download from GitHub releases as usual
    4
    Version 1.5.1 now available:

    Fixed crash on July security patch

    Download from GitHub releases as usual