Coder Social home page Coder Social logo

fynnfreyer / mindfulnotifier Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kmac/mindfulnotifier

0.0 1.0 0.0 2.24 MB

A simple mindfulness-based timer which displays a notification/reminder at user-defined intervals

License: GNU General Public License v3.0

Shell 2.14% Objective-C 0.02% Kotlin 0.07% Dart 97.57% Swift 0.20%

mindfulnotifier's Introduction

mindfulnotifier

A mindfulness bell with configurable text notifications, schedules, and sound.

About this app

This app is a simple mindfulness-based timer which displays a notification/reminder at user-defined intervals. It is another take on a 'Mindfulness Bell', with the addition of accompanying text. The reminders are taken from a configurable list, and are chosen at random at a selected interval. The reminder interval can either be periodic (in intervals down to a 15 minute granularity) or random (between a selected range of minutes).

Some default reminders are provided as examples.

  • You can add, edit, or remove these default reminders as you like.
  • Reminders can be enabled or disabled.
  • Reminders can be assigned a 'tag', and the reminder list can be filtered by tag.

There are 5 bells included, and you can also configure a custom bell from your phone's local storage.

This app works very well in conjunction with a smartwatch. In this mode you can also mute the bell to have silent mindfulness prompts throughout your day.

The app is built using Flutter. It currently only runs on Android.

Features:

  • Configure either a periodic or random reminder interval.
    • e.g. hourly, or every 15 minutes, or randomly between 30 minutes and an hour
    • periodic intervals are aligned from the top of the hour
  • Edit or add your own reminder messages:
    • Organize/group by tag
    • Enable/disable reminders
  • Define a time range for daily quiet hours.
  • Choose from a set of default bells, or provide your own.
  • Separate controls for 'mute' and 'vibrate'.
  • Choose android audio output channel for sound: notification (default), media, or alarm

Permissions

This app uses the following permissions:

  • ACCESS_NETWORK_STATE: Required by the library used to launch the github source code site
  • RECEIVE_BOOT_COMPLETED: Required by the underlying alarm service to restart after reboot
  • WAKE_LOCK: Required by the underlying alarm service to wake up at the scheduled time
  • USE_FULL_SCREEN_INTENT: Required to show app in foreground from the reminder notification
  • VIBRATE: Required to vibrate during notifications

Notes on Application Settings in Android

Battery Optimization

Some phones will kill apps when running in the background after a relatively short period of time. Unfortunately, if your phone is killing the app then you will stop getting notifications. If this is happening, you must disable any 'battery optimization' settings for this app. This varies from phone-to-phone - generally you must go into the settings for the app on your phone and turn off any battery optimization. See https://dontkillmyapp.com/ for your phone type and android version for more information.

Bells

Reminder Import/Export

This app provides basic backup and restore functionality for the customized reminder list. Reminders can exported to a file (in JSON format), which can then be restored on this device, or another device. Note that if you ever uninstall the app, you will lose all of your customized reminders, so you may want to take a backup before uninstalling.

Export:

On export, the app saves a file called Mindful Notifier-reminders-<date>.json in the app's external storage directory, which is located in your devices internal storage in the folder <Internal Storage>/Android/data/com.kmac5dev.mindfulnotifier/files. It also offers you a chance to 'share' the file via the standard Android share menu (i.e. copy it to another location on your device, to Google Drive, to Dropbox, etc).

The 'share' step is important if:

  • You uninstall the app. The app's storage directory is automatically removed when you uninstall the app.
  • You want to share the settings between devices.

You can also use a file browser to access the <Internal Storage>/Android/data/com.kmac5dev.mindfulnotifier/files location.

Note: the exported file is a 'json' text file. It is possible to edit the contents, but if you mess it up that's on you ;-).

Import:

The import operation allows you to choose an exported backup file using the system's file chooser. The reminders will be restored from this file. You should then restart the app, and re-enable the reminder service.

Note: Previous 'backup/restore' functionality used a different file format. If you have an older backup file (named like Mindful Notifier-backup-<date>.json), you can still import this file. The reminders will be pulled from it; however, the other settings in the file will not be restored.

Support Statement

This software is posted in the spirit of open-source software. I have created this app to fulfill my personal requirements, and I am sharing it in case others may find it useful as well. That said, my time is limited, and my approach to support is very much that I am happy if it works for me. I will try to help if you are having issues, but I just don't have the time to add every desired new feature or troubleshoot issues on hardware environments that I don't have access to.

I will consider pull requests for new features, and will always welcome bug fixes!

License

This project is licensed under the terms of the GNU General Public License v3.0.

Get it on Google Play Get it on F-Droid

mindfulnotifier's People

Contributors

fynnfreyer avatar kmac avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.