Tap, Tap lets you do a triple tap gesture on the back of your Android phone

Tap, Tap lets you do a triple tap gesture on the back of your Android phone

Back in February, we detailed a hidden feature in the Pixel’s SystemUI app called “Columbus” — a new gesture mechanism created by Google that utilizes sensor data from the gyroscope and the accelerometer to detect taps on the back of select Pixel phones. Google was working on making it possible to perform actions like launching the Google Assistant or taking screenshots using this unique feature, but the company removed these gestures in Android 11 beta builds. XDA Recognized Developer Quinny899 then decided to reuse the under-the-hood machine learning code and TensorFlow models to create an app called “Tap, Tap” that enables the double back tap gesture on any Android device. You don’t need to be rooted to use the nifty little app, and it even has the capability to integrate with Tasker for greater customizability.

Since our initial coverage, the developer has added a bunch of fixes as well as new functionalities in the app. First of all, Tap, Tap is longer considered as alpha. The first beta build (version 0.8) arrived two days ago, which is now succeeded by a quick hotfix build (version 0.8.1). Secondly, it is now possible to configure triple tap gestures using the app. Note that enabling triple tap gesture may slow down double tap actions in some cases.

Apart from these changes, the first Tap, Tap beta release brings in four new Android 11 accessibility global actions that include app drawer actions when supported launchers are installed. Support for legacy ARMv7 devices has also been added since version 0.4 alpha. There is an experimental sensitivity option with a slider under the gesture settings (since version 0.5 alpha), which should be useful for end users to tune the ability of the sensors to recognize tapping. Last but not least, the Gates module, i.e. the conditional execution routine, can now detect headsets, music playing, and when the device is placed down flat on a table.

Expand the list below to see the cumulative changelog for Tap, Tap:

Tap, Tap Changelog

  • 0.4 Alpha:
    • Added new Split Screen action which starts split screen
    • Added new mock-reachability mode that uses split screen with an empty top half (except for two buttons to open the notifications and quick settings without reaching up)
    • Moved declaration of an action’s category to TapAction instead of defining each category’s items as a list
    • Implemented the isAvailable boolean in the picker, which hides Screenshot & Lock Screen on < 9.0. Updated default list to cope with this on < 9.0 (default is now Assistant then Home)
    • Migrated to using Tensorflow library rather than the shared library and code taken from SystemUI, hopefully fixing Android 7.0. This will also enable armv7 support.
    • Added a bunch of new languages and updates to current ones (now supports English, German, Spanish, French, Italian, Polish, Portuguese (Brazil), Russian, Ukrainian, Vietnamese & Traditional Chinese)
  • 0.5 Alpha:
    • Added sensitivity option with a slider under the gesture settings (experimental)
    • Added option to disable battery optimisation, and some tips on how to make it work on your weird OEM firmwares
    • Haptic feedback will now only happen when do not disturb is not enabled (thanks Ashutosh Singh) – there’s an option to override this if you want
    • Added power menu action (thanks Adrian Campos)
    • Moved “Reachability” to Utilities
    • Added gates for Keyboard visibility and orientation
    • Fixed app picker not showing all apps when selecting for a gate, and the hide system apps doing the exact opposite of what it was supposed to do
    • Tweaked UI even more
    • Updated translations
  • 0.6 and 0.61 Alpha:
    • Implemented “requirements” (aka “when gates”) for actions. This allows you to specify an action to only be run when a condition is met (any gate can be used for this), such as an app running or the display being off – example on XDA thread
    • Added Table gate
    • Added pocket gate
    • Added gates for detecting headsets and music playing
    • Added Sound Profile control – needs do not disturb access, app will prompt you (thanks Ashutosh Singh)
    • Updated translations & contributors
  • 0.7 Alpha and 0.7.1 Alpha:
    • Fixed an issue in the Columbus JAR that was causing gates to be checked far more often than they needed to be. This means that actions now launch significantly quicker, and there may be less CPU usage and battery drain too
    • Added option to split background service into both an accessibility service and a foreground service with a notification, which may help on some devices. This is optional, and is opt-in from the new Advanced settings page
    • Added option to restart service automatically every hour. Some people have had success doing this themselves using Tasker, so this is an automatic implementation of that. Again, opt-in from the new Advanced settings page.
    • Added automatic update check, runs once a day at midday and shows a notification if there’s an update, as well as checking when the app launches.
    • Added kill switch to disable the gesture without stopping the accessibility service (note that this does a full service restart, so if the gesture stops working, toggling this off and on (or using the QS tile) will restart it and get it working again)
    • Added quick settings tile to toggle the kill switch
    • Added action to launch Google Voice Access (the accessibility app)’s action. This means with that app you can double tap on the back of the device to perform accessibility actions such as clicking icons or scrolling.
    • Added action to launch Google Search (thanks, arkon!)
    • Fixed crash caused by logging on some devices
  • 0.8 Beta:
    Now in beta!

    • Added Triple Tap – a whole new section of the app with the same UI, actions and controls as double tap. Triple Tap is opt in and still slightly experimental, I suggest making sure you have the best Gesture Model setup and rebooting after enabling it for the first time for best results.
    • Added support for Triple Tap to Tasker Event
    • Added actions for four new Android 11 accessibility global actions – Accessibility button, accessibility button chooser, accessibility shortcut and app drawer (supported launchers only)
    • Added hamburger action, with a caveat (read the warning)
    • “Lock screen” action will now disable wake until it’s executed to prevent device waking back up if wake device feedback is enabled
    • Hopefully fixed the service running twice and running incorrect actions on some devices when the service is enabled/disabled/restarted often
    • Experimental: Notification and quick settings action are now dynamic, based on window title. They will now close the notification / QS panel if it’s open, on supported devices
    • Updated translations
  • 0.8.1 Beta:
    • Fixed crash changing feedback options for some devices
    • Further changes to the service to hopefully fix duplication of listeners/actions
    • Fixed missing apps on Android 11 due to package visibility changes
    • Added empty states to actions and gates pages
    • Fixed crash when triple tap was enabled and run but no actions were set

As always, you can download the latest APK of Tap, Tap using the “Latest Release” tag from the project’s GitHub repo. Alternatively, head over to the XDA forum thread linked below and grab the APK from the first post.

Tap, Tap — XDA Download and Discussion Thread

About author

Skanda Hazarika
Skanda Hazarika

DIY enthusiast (i.e. salvager of old PC parts). An avid user of Android since the Eclair days, Skanda also likes to follow the recent development trends in the world of single-board computing.