What is this?
This is a Magisk module that adds the following cool custom features to any Pixel device (from 3a to 6 Pro) running stock Android 12 Pixel ROM:
- Enable/Disable Google Sans font system wide
- Adds Icon Styles and Icon Shapes overlays from Android 11
- Fonts options
- Enable/Disable Combined signal icons
- Pixel 6 Wallpapers (requires an extra module, please check downloads section)
- Adds 2 button mode navigation (it was removed on Android 11 but I think some users like that navigation mode, so I add it)
- Adaptive sound options
- Enable Voice access for all Pixel devices
- Navigation bar options (reduce keyboard bottom space size, completely remove NavBar, invert layout*, set back gesture height*)
- Enable/Disable SystemUI Tuner
- Enable Game Overlay for all Pixels by default (although, if something goes wrong while playing games, you can disable this feature)
- Enable/Disable dual tone battery meter (it only works on icon portrait mode)
- Enable/Disable showing the number of unread messages on status bar notifications
- Reduce Status bar height (and option to correct left padding on devices with the notch on the left)
- Enable/Disable more themed icons on launcher (some apps don't have a themed icon so it won't work for all apps)
- Enable/Disable left shortcut on Lock screen
- Enable/Disable camera shortcut on Lock screen
- Enable/Disable gradient effect on QS Tiles and Brightness slider
- Hide gestures navbar pill (using transparency)
- Colorize gestures navbar pill with dynamic accent color
- Dark Themes from Android 11 Addon Features
- Choose QS number of rows
- Brightness slider padding and thick track options
- Enhanced Google Dialer (to enable stuff like Call Recording and etc.)
- Enhanced Smart Space (to enable stuff like Flashlight, Earthquakes options, etc.)
- Enables some newer Pixel features to older Pixel devices (things like Live Translate, Haptic feedback settings, etc.)
- Enable/Disable option to reduce QS Tiles text size (works better on some QS Tiles themes)
- Option to install Tap Tap (a great app for devices without Quick Tap and even for the ones that have it)
These next features, also included in the MOD, indicates that framework-res and/or SystemUI were modded. This means that these next features will only work on devices running stock Android 12 Pixel ROM. I'll talk more about this later. - Enable/Disable Wifi + Cell QS Tiles instead of single Internet QS Tile
- Battery Styles
- Clock Customization
- Network Traffic Indicators
- QS Battery percentage independent options (show estimate time remaining or just percentage)
- Dual tone Light/Dark themes for Quick Settings Panel and Power Menu
- Album art on lock screen options
- Music visualizer options
- QS Quick pulldown with one finger (options are off, drag from the top left, drag from the top right and drag from anywhere on the top)
- Revamped Screenshot service (it allows us to delete screenshot as soon as we take it and we can enable/disable screenshot shutter sound)
- Show/Hide QS Edit icon on QS footer
- Show/Hide Quick access Developer options icon on QS footer
- Quick access Rom Control app by long pressing on QS Footer Settings icon
- Edit Back gesture navigation height
- Enable/Disable inverted layout for 2 and 3 button navigation modes
- Enable/Disable carrier text on lock screen
- Date, clock and battery click actions on QS Header (long click on clock goes to system time settings, simple click opens clock app)
- QS Tiles animations and vibration options
- Disabled icon blacklist on both status bar and lock screen(the icons can be disabled using SystemUI Tuner for those who don't want some icons to appear anywhere)
- Override feature flags (This allows us to override feature flags manually using setprop persist.sysui.flag."whatever_flag_we_want" command)
- Use 4G instead of LTE option
- Resize navbar pill (normal, medium, big)
- Tap to add or remove tiles in QS customizer
- Enable/disable QQS Brightness slider
- Enable/disable default QS Brightness slider
- Auto brightness QS icon (on/off)
- Brightness slider position (Top, Bottom)
- Double tap to sleep on status bar
- Double tap to sleep on lock screen
- Enable/disable Double-line clock on lock screen and AOD
- Enable/disable circle background on lock screen fingerprint icon (it only does anything on devices that have it, obviously)
- Force accent color on ripple animation while unlocking with fingerprint
- QS Tiles Styles
- Edge Sense Plus MOD (it only works on devices with active edge sensor)
- Battery Bar
-------------------//------------------
- Rom Control app (to setup all these options)
Downloads:
Download latest module version from HERE! Further updates can be done using Magisk Manager.
For more info about updates, please read THIS POST.
This is an optional module. I've decided to remove everything regarding wallpapers from Addon features main module and create this one.
I thought that it wouldn't make much sense to have a single module with almost 500 MB. So, this new optional module adds Pixel 6 static and live Wallpapers (obviously redundant for Pixel 6 users...) but, as well, it adds other Live Wallpapers that aren't normally available for download on Wallpaper & Style app (old stuff like doodle, conveyer belt, etc. from older pixels).
Notes:
- Since V17 the installer mod detects if your device runs into a boot loop after flashing it. If it does, and this will happen on any device not running stock Android 12 Pixel ROM, it will force a new reboot and will try to boot your device running a mod "Lite" version. The "Lite" version is nothing more than a mod version where the only features available are the ones above the red line text.
- If you want those "exclusive features", the ones after the red line text, working on your current ROM you will have to port them yourself. I explain how to later on this post.
- Those "exclusive features" are based on xml and smali changes made on stock SystemUI and framework-res. Without these changes the, "exclusive features" won't work.
- Since this module replaces stock SystemUI and framework-res for modded ones, you could run into problems if some other module tries to do the same or it's simply incompatible with it. If you want to try any other mod that changes SystemUI, or framework-res, there's an option on ROM Control that allows you to disable those "exclusive features". After disabling them, your Pixel device will reboot with a "Lite" version as well.
- Make sure that you're able to run adb shell as root before flashing this module and reboot your device. Just in case something went really wrong and you need to remove the module manually.
- If your device really refuses to boot, after flashing this mod, connect your phone to your PC during boot and run this:
Code:
adb shell
Code:
su
Code:
rm -rf /data/adb/modules/AddonFeaturesForPixel/system/framework/ && rm -rf /data/adb/modules/AddonFeaturesForPixel/system/system_ext/ && reboot
This will only remove framework and systemui "modded" files. Without them, you're device will boot and the other features, that don't require modding, will work just fine.
In fact, if you remove these files from the module zip before flashing, you can flash that modified zip on any device running any AOSP, or close to it, ROM.
In case you want to completely remove the mod, you can just run this:
Code:
adb shell
Code:
su
Code:
rm -rf /data/adb/modules/AddonFeaturesForPixel/ && reboot
- If you forgot to enable the ability to run adb shell as root, and if your device fails to boot, you can fix that by removing all Magisk modules you have installed. That can be achieved by running the following commands even without root shell during boot:
Code:
adb shell
Code:
magisk --remove-modules
- If none of the above methods work to get your device booting, then you have to boot into safe mode. By doing so, Magisk will disable all modules for you (it doesn't uninstall them, just disables them). To force a boot into safe mode all you need to do is to keep pressing volume down button during boot animation. After the system boots into safe mode you can reboot your device to boot up normally (since all modules will be disabled). If you get stuck during boot animation again, just force another reboot (I've had to do that during my tests).
- When a new OTA update comes it's possible that the MOD will force boot with Lite version. Why? Because Google may change things on stock SystemUI and/or framework-res between builds. When that happens, I have to recreate the module again to adapt those changes. Rest assured that I'll always test the module with new builds and update as necessary.
- In case your device gets caught in a boot loop, please provide me a logcat so I may try and look if anything can be done about it. To do so, during boot connect your device to your PC and grab a logcat with this adb command:
Code:adb logcat > log.txt
After grabbing the log, please open the txt file and search for "FATAL". Afterwards post here the lines where the "Fatal error occurred".
- I've made these modules for my personal use and just decided to share with all XDA community. Having this in mind, there's no need for donations (although I won't refuse them if you want to buy me a beer). As for requests or whatever, I can only add more stuff when, and if, I have time for it. I'm a really busy man in real life so I can't promise anything nor ETAs.
Requirements:
- Unlocked bootloader
- Magisk Root | Magisk Manager
- Stock December 2021 Android 12 Pixel ROM build, or later until February 2022 for "FULL" version compatibility
- Any AOSP, or close to it, Android 12+ ROM on any device for "LITE" version only (not fully tested...some devices/ROMs may not work)
Suggestion:
- Uninstall all other modules you may have installed before installing this. They could be incompatible with the module thus making the device get caught in a boot loop. You may install them afterwards, one by one, just to make sure everything is ok.
- If you're up to it, instead of disabling/removing modules, I recommend you to flash latest stock build through fastboot using flash_all.bat. In order to retain your data, remove the "-w" flag from the update command on flash-all script.
How to install?
- Flash "Addon Features" module
- Reboot device
If your device/ROM is fully compatible, everything will be ok at first boot
If not, your device will auto-reboot after first failed boot attempt and boot again with the Lite version only - Have fun!
How to update?
- Open Magisk Manager app
- Press the update button on"Addon Features" module
- Reboot device
- Have fun!
Video:
You may check what to expect from this module HERE.
Note that this video was recorded when I've made this for Android 11. Some features may not be present for Android 12 and others can be that didn't exist for Android 11. The video is here only for those, who have never tried this on Android 11, may understand what to expect.
How's these "exclusive features" even possible?
All "exclusive" features that you see on the list above were reverse engineered from Proton AOSP and Evolution X ROM source code. The source code is available on the links bellow shown on the credits. This means that I've been practicing some hard core "old school" Android smali edition in order to get this working. So, yes, I have some credits about this but, if it weren't for the original developers and it's public source code, none of this would be possible. Thank them for this!
Smali, and xml, edition wasn't enough to get this working. After decompiling, changing/adapt the code and recompiling everything again, I had to find a way to make it bootable without messing with the original apk signature. And here is where VR Theme logic came in handy. So thanks for the original dev who brought us this feature.
As for ROM Control app....this was/is a project created by daxgirl and wubydax back in 2015! So yeah, I'm not bringing anything new here, I just followed their instructions in order to get the features working after editing smali/xml with the source code taken from PAOSP and Evolution X. The original app source code is also available on the link shared on the credits.
I've just combined all of the above into a Magisk Module and shared here so that we can get the best of both worlds....a stock ROM with custom features included.
Smali, and xml, edition wasn't enough to get this working. After decompiling, changing/adapt the code and recompiling everything again, I had to find a way to make it bootable without messing with the original apk signature. And here is where VR Theme logic came in handy. So thanks for the original dev who brought us this feature.
As for ROM Control app....this was/is a project created by daxgirl and wubydax back in 2015! So yeah, I'm not bringing anything new here, I just followed their instructions in order to get the features working after editing smali/xml with the source code taken from PAOSP and Evolution X. The original app source code is also available on the link shared on the credits.
I've just combined all of the above into a Magisk Module and shared here so that we can get the best of both worlds....a stock ROM with custom features included.
Rom Control with "exclusive features" source code:
https://github.com/ElTifo/CustomSettingsForDevs/
Want to port the "exclusive features" to your Pixel device running on other ROM? Here's how:
https://github.com/ElTifo/CustomSettingsForDevs/tree/Pixel4a_Android12/app/src/mods
Credits:
Proton AOSP ROM team, specially @kdrag0n for all his work on Dual tone light/dark themes and other Proton AOSP helpfull commits.
EvolutionX ROM team, specially @joeyhuab
@daxgirl and @Wuby986 for ROM Control project and source code.
@Tulsadiver for showing me how to adapt VR Theme logic originally used on 3Minit Battery Mod by @gharrington.
@Ticklefish for Tickle My Android
@topjohnwu for Magisk
@Freak07 for Adaptive Audio
@trzpro for More themed icons on launcher mod
@Liranazuz5 and @roirraW "edor" ehT for all support and testing stuff.
@siavash79 for all help regarding module installation scripts and update feature from Magisk.
@iamlooper for At a glance enhancer module and it's install/uninstall logic which was adapted to Addon Features
Cheers and enjoy!
Attachments
Last edited: