Screenshots
Description
<b>WaveUp</b> wakes up your phone—switches the screen on—when you wave over the proximity sensor.
I built this app because I got tired of pressing the power button just to check the time (a surprisingly frequent habit). Inspired by the <b>great</b> Gravity Screen On/Off. I looked for an open-source alternative and just couldn’t find one. So I made it myself!
Checkout the code: https://gitlab.com/juanitobananas/wave-up
A possibly more more up-to-date README: https://gitlab.com/juanitobananas/wave-up/#waveup
<b>Features</b>
▸ <b>Wave mode</b>: Turns the screen on when you wave over the proximity sensor.
▸ <b>Pocket mode</b>: Turns the screen on when you pull your phone out of a pocket or bag.
Both are <i>enabled by default</i> but can be turned off in settings.
▸ <b>Screen lock</b>: cover the sensor for a second (or your chosen time) and the phone locks. <i>Off by default</i>, but easy to enable.
<b>Wait, what's a proximity sensor?</b>
It’s that invisible little thing near your phone’s earpiece that turns off the screen when you’re on a call.
<b>Known Issues</b>
Some phones keep the CPU running while listening to the proximity sensor and this drains battery (blame your phone, not me). Most phones don’t, so battery use is minimal.
<b>Accessibility Services</b>
▸ Purpose: Starting with Android 9, WaveUp utilizes the Accessibility Services API to allow users to switch off the screen.
▸ Privacy and Security: WaveUp uses the Accessibility Services API exclusively for this purpose and only if the 'lock' option is enabled. No personal data is collected, stored, or shared through this service.
▸ Permission Scope: The Accessibility Services permission is strictly used for enabling the screen lock feature. It does not monitor or interact with any other aspect of device usage.
<b>Permissions</b> (yep, quite a few)
▸ <b>WAKE_LOCK</b> – turn on the screen
▸ <b>RECEIVE_BOOT_COMPLETED</b> – auto-start on boot
▸ <b>READ_PHONE_STATE</b> – pause during calls
▸ <b>BLUETOOTH / CONNECT</b> – avoid pausing when on a Bluetooth call
▸ <b>IGNORE_BATTERY_OPTIMIZATIONS</b> etc. – stay alive in the background
▸ <b>FORCE_LOCK</b> – lock device (Android 8 and below)
▸ <b>ACCESSIBILITY_SERVICE</b> – lock device (Android 9+)
▸ <b>DELETE_PACKAGES</b> – let the app uninstall itself if needed
<b>Uninstalling (Android 8 and older)</b>
WaveUp uses Device Admin permissions, so it won’t uninstall the usual way. Use the 'Uninstall WaveUp' button in the app to remove it properly.
<b>Fun fact</b>
This is my <b>first</b> Android app and my <b>first</b> open-source contribution! I'd love your feedback or help—especially if you're into translations or just enjoy tinkering.
<b>Open source rocks!</b>
<b>Translations</b>
Help translate WaveUp! Even the English version could use improvements.
https://www.transifex.com/juanitobananas/waveup/
https://www.transifex.com/juanitobananas/libcommon/
<b>Acknowledgments</b>
Thanks to all who contributed: https://gitlab.com/juanitobananas/wave-up/#acknowledgments
What’s new (3.2.30)
New in 3.2.30
★ Updated translations.
New in 3.2.29
★ Updated translations.
New in 3.2.28
★ Updated Impressum: current legal citations (DDG, MStV) and new contact address.
...
New in 3.2.17
★ Remove 'Excluded apps' option (Google Play only). F-Droid ones remain fully functional. Google doesn't allow WaveUp to read installed apps, which is necessary for this.
...
Versions
Permissions
What the app asks the system for. Android only grants sensitive access after you confirm it.
- Installed appsSee which apps are installed.
- PACKAGE_USAGE_STATS
- Prevent sleepingKeep the device from going to sleep.
- Run at startupStart automatically after the device is switched on.
- USES_POLICY_FORCE_LOCK
- Phone stateDetect ongoing calls and read device information.
- VibrationControl the vibration alert.
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
Show 7 more permissions
- Foreground serviceKeep running in the background, visible in the status bar.
- FOREGROUND_SERVICE_SPECIAL_USE
- BluetoothConnect to Bluetooth devices.
- Bluetooth connectionConnect to paired Bluetooth devices.
- REQUEST_DELETE_PACKAGES
- NotificationsShow notifications.
- waveup.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Comments