The Android O Developer Preview has now reached its third release, meaning the final APIs are ready and Google is readying up for an imminent and proximate release with only minor bug fixes to be expected in the remaining Developer Preview. With previous Android O previews, we saw tons of refinements to the user interface as well as some additional customization features, some of which were likely being tested and might not be available in later releases.

In fact, users have been reporting that with Android O DP3, lockscreen shortcut customization and navigation bar customization have both been removed from the System UI tuner, suggesting they will not, in fact, make it to the stable release of Android O as user-facing features. But that doesn't mean they aren't still accessible -- in fact, nav bar customization has been dormant within AOSP since Nougat, hiding there all along. So while the feature wasn't new, Google experimented with introducing it to end users by placing it in the System UI tuner where all hidden, experimental features reside. While we were lucky to have received the new nav bar and lockscreen features introduced in the first Android O Developer Preview, we don't know when we'll be getting these features back. We most likely won't even see them enabled in the official release by default, possibly not even under system UI tuner.

Luckily, it is still possible to manipulate these features without needing to access the official interface. Surprise, surprise, it was only the user-facing menus that were removed, meaning you can still very much take advantage of these features should you want to customize your Android O DP3 build. It's likely that the unofficial method we will describe below will work on the official release as well, unless Google completely strips the code responsible for the feature from the System UI APK, so keep this guide handy in case you can't access the preview, but would like to experiment with this later. If you are on Nougat, depending on your ROM you can play with navigation bar customization right now.

Requirements: This guide is aimed at users running the Android O Developer Preview 3. At this time, that includes the Nexus 5X, Nexus 6P, Nexus Player, Pixel C, Google Pixel, and Google Pixel XL. Lockscreen shortcut customization is not available on thesse devices running Android Nougat, but the navigation bar customization is.


Modifying Nav Bar -- Application Method

Original article

Install Custom Navigation Bar Tuner and sign up for beta testing to get all of the latest features. Open the application and follow along the screens for a tutorial on how to set it up, it will request the permission WRITE_SECURE_SETTINGS explaining two ways to go about granting it.

Unless your phone is rooted, then you'll need to grant this permission via an ADB shell. In order to do so, you'll need to download the ADB binary for your particular OS as well as the Google USB driver if you're on Windows. Next, enable Developer Options by going to Settings --> About Phone and tapping on Build Number 7 times. Then open up Developer Options in Settings (it will prompt you to enter your phone's pin/password) and enable USB Debugging. Plug your phone in to your PC, open up a command prompt/terminal where you saved your ADB binary, then enter adb devices. Your phone will prompt to enable ADB access - grant it, then you'll see your phone's serial number in the command prompt/terminal.

Now you can enter the command to grant the required permission as mentioned within the Custom Navigation Bar app. After granting the app this permission, you'll run through a compatibility test where the application will attempt to modify your navigation bar. If it is successful, you'll be able to proceed and access the main menu.

Re-arranging the Nav Bar Buttons

Re-arranging the navigation bar is quite easy using the application. Make sure you are a beta tester to utilize the experimental features, as specified above. You'll find a section called experimental tweaks, access it to see the options that allow you to replace your three existing keys. You can change their order or change them to whatever you want, the app is quite intuitive and you should have no issue arriving to a setup you are comfortable with.

Other Uses of Custom Navigation Bar

The Custom Navigation Bar app has a metric ton of features to go through, so explore its offerings for yourself! Here are just two previous tutorials I've written that showcase how you can use the app's Tasker integration (a pro feature) for useful situations.

Since the app offers the ability to trigger Tasker events, you can technically program the nav bar keys to perform almost any action imaginable, in whatever situation you want.


Lockscreen Customization using ADB

Luckily, this feature is very simple, as there isn't much customization apart from adding a shortcut. Lockscreen shortcuts are quite useful and Google's approach within System UI tuner was quite powerful -- it allowed you to not only choose application shortcuts, but also specific activities of various applications, all listed accompanied with icons in an intuitive menu. While this approach isn't quite as intuitive and accessible, it remains pretty simple and you can still add shortcuts to any app activity using ADB. All you need to do is pass along adb shell commands with the following synax:

For the left key:

settings put secure sysui_keyguard_left "COMPONENT/NAME"

For the right key:

settings put secure sysui_keyguard_right "COMPONENT/NAME"

Where COMPONENT refers to the application's package name, and NAME refers to the activity name within said package. For example, if I wanted to launch Hangouts' main activity on the left side, I would input:

settings put secure sysui_keyguard_left "com.google.android.talk/com.google.android.apps.hangouts.phone.BabelHomeActivity"

Finally, if you want to customize whether or not the left or right lockscreen shortcuts also automatically bypass the lockscreen, you can enter the following commands:

settings put secure sysui_keyguard_left_unlock 0/1

settings put secure sysui_keyguard_right_unlock 0/1

Where 0 means the shortcut will not unlock the phone, and 1 means the shortcut will unlock the phone.

The only question that remains is, how in the world do I figure out what specific activity of a package do I want, and what is the name of such activity that I must input in the command? Luckily, this information can be gathered quite intuitively with the help of any activity launcher application, or the activity launcher widget within the popular Nova Launcher you might be using on your device. Simply find the application you want and browse its activity, you'll likely be able to find the specific screen you want.


The Sky's The Limit

It's sad to see the accessible, user-facing interface to customize these features disappear from the latest Developer Preview, as this signals their potential demise with the official Android 8.0 release. However, as you can see, it's still possible to access the underlying functionality even without the GUI in the System UI tuner, meaning you'll hopefully continue to be able to tweak the navigation bar and lockscreen shortcuts once O comes out. Don't let this limited guide sell these features short: the possibilities are endless, as not only you can add shortcuts to any activity to the lockscreen, but with the use of key codes, you can add all sorts of functions like media controls, navigate through emails, scroll through pages and more. If you are a fan of my previous Tasker tutorials, then you'll find tons of ways to exploit these features and make the most of your device.


What do you think about these features and their removal? Got any questions? Leave a comment.