nyxkn/meditation

Essential meditation timer for Android

github 로 이동하여 다운로드
nyxkn/meditation

Meditation

This is a meditation timer. Minimalistic, reliable, and truly elegant.

Get it on F-Droid

Get it on Google Play

Or download the APK directly from GitHub:

Features

Shield: GitHub version
Shield: F-droid version

  • Simple, elegant, and intuitive
  • No distractions - only the essential features
  • Beautiful assortment of bell and gong sounds
  • Custom volume adjustment of the bell sounds
  • Reliable countdown timer
  • Pre-meditation delay
  • Intermediate meditation intervals
  • Free and open-source software

Screenshots


 

Description

Meditation is a truly minimalistic countdown timer for meditation, with a clean user interface and no clutter. The minimalism of the app embodies meditation’s actual purpose.

A notable feature of the app is the ability to customize the volume of the notification bells independently of system volume. This allows you to set a predefined volume so that the sounds will reliably play at the same loudness every time. No more mid-meditation worrying that you remembered to turn the volume up!

Another important feature is for the timer to be as reliable as possible, to ensure an accurate meditation time and prompt ending sound notification.
This is achieved by starting a foreground service and disabling battery optimization.

Reliability is of extreme importance to a meditation tool in order to eliminate all possible worries about the timer not behaving correctly. Just press the button and start!

Donations

If you find this project helpful and you feel like it, throw me some coins!

And drop a star on this repo :)

Buy me a coffee

Liberapay

Support me on ko-fi

Paypal

Bitcoin: bc1qfu5gk78898zdcxw372unmwua0yd5luf3z60sgq

Technical notes

An important feature to implement was to have the volume of the notification bells be consistent and reliable.
In other apps, the volume is tied to the system volume, implemented either as using the system volume setting directly, or as a modifier thereof.
Both approaches are flawed and will lead to inconsistent volumes if the system volume changes or if you had forgotten to set it to the desired level before starting the timer.
With my approach the app makes use of a configurable absolute value, so that the sounds play consistently at the same volume no matter what.

Another issue to solve was the reliability of the timer timeout event, making sure it happens at exactly the right time.
For whatever reason, this is a ridiculously complex problem on mobile devices. There are continuous “improvements” to attempt to extend battery life, that make it really hard to ensure that a time-critical task happens at the right time.
This app will make use of all possible tricks to ensure it is reliable. What I settled on was a combination of a foreground service and disabling battery optimization. This allows notifications to be sent reliably at the correct time. If that still doesn’t work, you also have the option of keeping the screen on through wakelock.

Credits

Audio files

Here’s a listing of the original audio files that each asset was derived from.
They were all modified to improve cohesion.

Other

  • Enso.svg (CC0): used in the making of the app icons.

License

Source code

All source code is licensed under the GPL-3.0-only License.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

Assets

All assets (images and audio files) are licensed under the CC-BY-SA 4.0 License.

This includes everything in the assets and media folders and in android/app/src/main/res.

Third-party

This project is developed using the Flutter framework, which is licensed under the BSD 3-Clause License.

Additional licensing information on all of the Flutter modules that are being used can be found in the in-app About screen.

nyxkn/meditation 에 관련된 우수 프로젝트 추천 다운로드