It's been less than a month (barely) and we're back with another Navigation Gestures update. Just like with the release of 1.18.4, the focus here is primarily on stability and performance. That doesn't mean there aren't new features, though. We've spent a while making sure this release is as stable as we can get it (as you can tell by the high patch-version number).

First up, here are the highlights:

  • We've completely redesigned the gesture detector.
  • We've added a bunch of new gestures.
  • There are a couple new compatibility options to help you fine-tune Navigation Gestures for your device.
  • You can now search for specific settings.
  • The sensitivity issue using Split Pill has been fixed.

Here's the full list of changes:

Features

Better App-Change Detection

First up, we've added a setting for better app-change detection. This option makes use of Android's Usage Stats API to more reliably detect the app that's currently on-screen. Enable it by going to Settings > Experimental Settings and tapping "Improved App-Change Detection." Just note that it may result in worse battery life.

Complex Gestures

There are also 8 new "complex" gestures:

  • Swipe Up & Right or Right & Up (+ long variant)
  • Swipe Up & Left or Left & Up (+ long variant)
  • Swipe Down & Right or Right & Down (+ long variant)
  • Swipe Down & Left or Left & Down (+ long variant)

These new gestures work in both normal and split pill modes.

Repeat Long-Swipes

We've also added an option to allow long-swipes to repeat until you lift your finger. For example, if you have a long right-swipe set to increase the display brightness, keeping your finger down will cause the brightness to continue to increase.

Settings Search

This next feature should be particularly useful. As you may or may not know, Navigation Gestures has a bit of an overload of options. It can be hard to find something you're looking for when it's surrounded by dozens of other options. Well, we've added a Settings Search feature in this version. Simply open the settings, tap the search icon in the top bar, and type in what you're looking for.

Behavior

While there are plenty of new features, there are also a bunch of changes to how Navigation Gestures behaves that we've made.

Clear Settings when Restoring Full Backup

Navigation Gestures has had a Backup & Restore feature for a while now. This can be useful if you're moving over to a new phone or performing a factory reset. In this release, we've slightly tweaked the behavior for restoring a full backup. The process will now clear all of your current settings before writing the ones from the backup. This is just to ensure that the backup properly restores. In most cases, you won't notice a difference.

Per-App Pill Color Reliability

In the last stable release, 1.18.4, we introduced a new Experimental feature: Per-App Pill Color. In Navigation Gestures 1.20.16, we've improved its reliability. It should now be less prone to flickering when opening apps, or when having a status bar clock showing seconds.

Redesigned Gesture Detector

Per-App Pill Color isn't the only thing we improved, though. We've completely redesigned the gesture detector for the pill. The first thing you'll notice with this new detector is that the pill now moves both horizontally and vertically at the same time. This means you could start a swipe-up gesture, but change your mind and drag the pill to the right instead (of course, if you have the Right & Up complex gesture enabled, that'll execute). This new gesture detector also opened the door to the new complex gestures. Overall, the experience swiping the pill should be vastly improved.

Pill Hiding/Fading

The next improvement involves the pill hiding and fading behavior. We've redesigned the logic behind these features, so they should be much more reliable and responsive. We've also made it so you can have the pill hide and fade at the same time.

Don't Move Pill when Keyboard Shown

We've also fixed up the "Don't Move Pill when Keyboard Shown" option to work more reliably on more devices.

Compatibility

Since different Android devices can be so vastly different from each other, it's impossible to make an app like Navigation Gestures work properly on all of them automatically. That's why we've added new compatibility options as time goes on. In Navigation Gestures 1.20.16, there a couple new ones to help you fine-tune Navigation Gestures for your device.

Switch Apps Delay

The first new option involves the Switch Apps action. Android unfortunately doesn't have a direct method for switching to the previous app, so Navigation Gestures has to simulate a double-tap of the Recents button. We've played around with different delays between the two simulated taps, but none have worked reliably on all devices. This option allows you set the delay between the two taps yourself. Experiment with longer and shorter delays to find what's best for your phone.

Accessibility Event Delay

The other option also involves a delay. Navigation Gestures relies on events reported to an Accessibility Service to know when the screen content has changed. These events aren't reported every time they're generated, though. Android allows a minimum delay between events to be set. The shorter this delay is, the faster Navigation Gestures can do things like update the pill color or hide the pill. Unfortunately, a shorter delay also means worse battery life and performance. A longer delay means slower responses, but less effect on battery usage and speed.

Luckily, Android allows this delay to be set dynamically, so we've added an option so you can set it yourself. The default delay is 500ms, but if you want the best performance, you can set it as low as 100ms. If you're trying to save battery, it can be set all the way up to 2000ms.

Cut-Off Volume Dialog

Android Pie redesigned the volume dialog, moving it to the side of the display. Because of this, when using a fullscreen app in landscape on Pie, the volume dialog will be partially offscreen. There's a new compatibility option which will temporarily show the navigation bar when the volume dialog is on-screen under thee specific conditions.

Bugs/Miscellaneous

Aside from everything mentioned above, there are quite a few bug fixes and miscellaneous changes that should improve your experience using Navigation Gestures.

Crash Fixes

Being a low-level personalization app, Navigation Gestures has its fair share of crashes. Since 1.18.4, we've fixed quite a few crashes, and the overall experience should be much more stable.

Performance Improvements

Again, with how much Navigation Gestures has to do in the background, there are quite a few times when Navigation Gestures freezes up, especially on older or lower-end devices. A lot of work has gone into performance for this release, fixing quite a few instances where Navigation Gestures stops responding.

Hide Pill when Keyboard Shown

At some point, we broke this option. Well, now it's fixed, and should work reliably again in 1.20.16.

Sensitivity

During the development and testing process between the release of 1.15.10 and 1.18.4, the gesture sensitivity was decreased greatly when the pill was aligned to the bottom of the screen. It could be worked around by enabling Full Overscan, but not all devices are compatible with that option.

After a lot of investigation, we found the reason behind this issue, and it should be fixed now. If you had turned on Full Overscan in 1.18.4, you can disable it if you want to.

Miscellaneous

  • Make sure the Show NavBar with Keyboard option is disabled when Overlay NavBar is on
  • Make sure holding the pill to show the navigation bar while screen pinning is active actually works
  • Fix up some animations

[appbox googleplay com.xda.nobar&hl=en]


So that's it. As promised, there's a whole bunch of new stuff: features, behavior changes, bug fixes.... what more could you want?

If you haven't tried Navigation Gestures before, there's no better time than now to go install it. If you have tried it before and you uninstalled it because of issues you experienced, give it another shot, and then uninstall it because you'll still probably have issues. Report any problems you have, though. You can send an email to navigationgestures [at] xda-developers [dot] com or create a ticket at https://support.xda-developers.com to let us know.