Home is Where Xposed Is: The Modules That Keep my OnePlus 3 on Marshmallow
Earlier in the week, we brought to you a news update on the current status of Xposed for Nougat. Long story short, Xposed for Nougat is still in the works, and the project will take a while due to the behind-the-scenes changes that Nougat introduced.
So while that situation unfolds at its own pace, there are some of us who are willing to forego being on the latest version of Android, just so that we can continue using the Xposed framework and its accompanying modules. It was surprising to see a fair bit of recurrence of users who would rather be on Android 6.0 Marshmallow and have Xposed functionality than update to Android 7.0/7.1 Nougat and be without it.
While one can only guess on every individual’s reasoning behind not jumping to the latest Android version, here are the reasons for which I prefer Android 6.0 Marshmallow along with Xposed over Android Nougat.
My current daily driver and primary phone is the OnePlus 3. The reason why I chose the OnePlus 3 over the alternatives was the presence of top-of-the-line specs and the relative ease of software modifications compared to the other flagship options at that time (based on my past experience with the OnePlus One, my previous daily driver). As a long time XDA Member, the latter was a key area and decisive factor for choosing a personal device to purchase.
The popularity of the subforums for the OnePlus 3/3T speak for themselves, making the duo a top choice for anyone looking for a developer-friendly device with an active dev community in 2017. This means that one can choose from a wide variety of custom ROMs, kernels and other tweaks — modifications that other devices with locked bootloaders would largely be bereft of, and that even competing flagships with an unlockable bootloader yet less development don’t always get to savor.
But my setup is rather simple and not indicative of all the choices available with this phone.
After running CyanogenMod (or one of its variants) for close to 5 years before getting the OnePlus 3, I actually found that I did not want to go back to a more AOSP ROM. My initial impressions with OxygenOS kept me from getting back into the familiar CM 13 experience. In my attempt to try out the Community Builds of OxygenOS, I ended up opting for a custom ROM (FreedomOS) based on the Community Builds of OxygenOS, mainly for the convenience of an Aroma installation and the Substratum Theme Engine.
So even right now, my OnePlus 3 sits on FreedomOS CE-1.11, which is in turn based on OxygenOS Open Beta 7. The base Android version is Android 6.0.1 Marshmallow of course, and the security patch level is at November 1st, 2016.
My Xposed setup is traditional since I don’t need a systemless installation. My modules of choice are:
- App Settings
- OP3 Slider
- Ringer & Notification Volume Unlink
- Statusbar Download Progress
- YouTube Background Playback
The Xposed Ecosystem
The Xposed modules that I use are chosen to address particular annoyances in my current Android experience.
This Xposed module is a crucial part of my experience. The App Settings module has not been updated lately, but an unofficial version that has been shared works as well with Android 6.0 Marshmallow. The module allows a wide range of per-app configurations, including setting separate DPIs and font scales, enabling/disabling fullscreen, keeping screen on and keeping the app fixed in memory.
I particularly use this module to enforce separate DPI settings outside of my global DPI modifications. This comes useful in IM apps (*cough*Hangouts*cough*) which insist on having very large lists and fonts, so a per-app setting helps finding the sweet spot on an individual app basis.
The “Show when locked” functionality works well with apps like the calculator and camera, especially if I am on a photo walk or a clicking spree. This lets me turn the screen off/lock the device with the app active to save some battery while still retaining very quick access when I turn the screen on, without needing to enter a PIN or opt for a fingerprint unlock. It works out well coupled with Double-Tap-to-Wake.
There are a lot more useful features, like keeping the screen on in games like Clash of Clans, keeping apps in memory like the launcher or an IM app, preventing apps like Tinder from appearing in the Recents Menu and overriding orientation settings for certain apps like video players.
My usage for these functions fluctuate depending on whether I do have these apps installed, but having the freedom to control how my phone behaves in certain apps is certainly one of the main reasons I stay with Xposed.
This Xposed module is a relic of 2014, back when I used a donated HTC Desire S. Boot times increased substantially as the number of apps started increasing, and this module greatly helped by cutting down the number of apps that were initiated on startup.
On the OnePlus 3, this module works better when I start hoarding apps and games — installing them for testing or just because, and never getting around to uninstalling them. The app hoarding continues till I start running out of space on my 64GB OnePlus 3 or when I switch ROMs. Untill such situations arrive, BootManager helps keep the rare boot times snappy and allows my phone to come back to a working state much quicker, plus all that crap doesn’t run until I call it.
Another Xposed module which I carry forward from when I was using a low/mid end device. Greenify, as you would know, hibernates apps and stops them from restarting themselves. It was a working alternative to cancerous Task Killer apps, when my phone had limited resources to work with.
The habit of greenifying new apps continues on with the OnePlus 3, helping me manage my app-hoarding tendencies while still letting my phone be as efficient as it can be.
Greenify by itself does not need the Xposed framework to work, but having Xposed helps by letting apps retain GCM push functionality and letting notifications exist past app hibernation.
Heads Up Notifications, introduced in Android 5.0 Lollipop, have settled well with many users. But for me, the default Heads Up implementation is nothing but pure annoyance. The sheer number of notifications received on my device during a day compounds my qualms with Heads Up notifications.
Having the top part of my display getting briefly covered once every few minutes while I try to read an e-book, or watch a video, or play a game, or do any of the other things that phones are used for, is downright annoying to me. I actually prefer the previous Ticker implementation which was far less intrusive.
The HeadsOff Xposed module fixes this “annoyance” to a large extent. One can specify apps can no longer send heads-up notifications as well as create a whitelist for notifications that match certain rules and let them go through. My setup is simple as I just block off Heads Up notifications completely, from all apps across all apps.
The rest of my Xposed modules of choice are fairly straightforward:
The OP3 Slider mod modifies the Alert Slider functionality of the OnePlus 3. The default states of Normal-Priority-DND are switched with Loud-Vibrate-Mute, which works inline with my expectations out of my phone.
The Ringer and Notification Volume Unlink module separates the volume binding on the two streams that were merged together since Android 4.0 Ice Cream Sandwich. This lets me set Notification Volumes to low sounds and helps me deal with Notification Spam, while still letting Calls go through at higher volume.
This module displays a progress bar on top of the status bar. This helps track download progress without needing to pull down the notification shade.
This module allows the official YouTube app to continue working in the background.
My use case consisted of loading up YouTube playlists for songs and utilizing the official app as a Music Player. It also helps when you often switch apps while watching videos, and do not want your video to stop playing.
Google does allow an “official” way for background playback, but that’s through YouTube Red. Google took a free feature from a popular app and made it a highlight of their paid service. What’s worse, YouTube Red is not available everywhere, so there might be no “official” way to enjoy such functionality depending on where you live.
The Incremental Nougat Update
Back when Android 4.0 Ice Cream Sandwich was released, there was a very tangible level of excitement in the Android community. The OS had adopted Holo Dark as its color palette of choice across apps and system, and there were many improvements under the hood that promised great results. A similar excitement came with the switch to Android 5.0 Lollipop, where Material design was given center stage and improvements focused around making Android a mature OS.
Android 6.0 Marshmallow fixed a great deal of what was broken by Lollipop and gave Android the stability worthy of a modern day OS. But the additions made by the successive updates are simply of little interest or excitement to certain people who already enjoy such features through custom ROMs and OEM skins.
New Android Nougat additions like Notification Toggles, Night Mode and Multi-window Support already exist to an extent on OxygenOS Community Builds on Android 6.0. Other features like the Redesigned Settings Menu, Smart Storage and App Launcher Shortcuts are not worth losing sleep over.
There are features like Notification Bundling, Doze on the Go, App Switcher and ART Compiler changes which are indeed worthy additions. But one needs to decide whether the combined value of these is enough to ignore the disadvantages of an Xposed-less installation. Different users have different priorities, and for me personally, I would rather retain all of the Xposed functionality than go with the newest features.
The introduction of the Xposed framework and modules has filled in gaps that were left unfilled by ROMs. Stock Android is just about catching up and incorporating several features from Custom ROMs, so will take some time for it to give us the power to choose and modify functionality like Xposed.
What do you prefer, the latest Android update or an Xposed-supported Android version? Which Xposed modules form an inseparable part of your Android experience? Let us know in the comments below!