Commit Graph

122 Commits

Author SHA1 Message Date
Joseph c2f93e832e Add weight to exported CSV Selects all weight entries and turns them into the expected output before commiting to csv. - 2.35 🚀 2024-05-13 12:08:44 +12:00
Brandon Presley d0e76f574b Enable exporting plans as CSV - 2.33 🚀
This is to help migrations across to Flexify.
Also is generally useful if someone wants
to do some Excel magic on their plans.
2024-03-23 14:46:04 +13:00
Joseph 58b8488a27 Use AlarmManager to manage the ending of timers 2024-03-11 19:30:33 +00:00
Joseph b979d0943f Improve timer accuracy 2024-03-07 15:48:20 +00:00
Joseph 7c35da3f5b Add themed icons - 2.31 🚀 2024-03-05 18:36:02 +13:00
Joseph 12f906bfc3 Fix MissingForegroundServiceTypeException in TimerService 2024-02-29 13:29:52 +00:00
Brandon Presley 164d946b90 Fix add 1 minute not adding immediately 2024-02-21 14:51:35 +13:00
Brandon Presley 6ad7091503 Vibrate more at the end of timers 2024-02-21 14:48:55 +13:00
Brandon Presley d7599ff39b Remove redundant !! from MainActivity - 2.27 🚀 2024-02-19 22:10:54 +13:00
Brandon Presley c6ac2cae86 Prevent multiple alarm timers running at once 2024-02-18 00:50:08 +13:00
Brandon Presley eea6c96e8e Make separate channel for finished notifications
Still aren't showing on lock screen, or waking the
device sadly. Ive got to finish reading https://github.com/giorgosneokleous93/fullscreenintentexample/tree/main/app/src/main/java/com/giorgosneokleous/fullscreenintentexample
2024-02-17 19:01:43 +13:00
Brandon Presley 9e3f2fea78 Auto request battery optimizations are off
If the user reinstalls the app, and then imports their
database, they might end up with timers on but
battery optimizations on as well.
2024-02-17 17:42:19 +13:00
Brandon Presley 47cfaa4b67 Fix dismissing alarm and add +1 minute button 2024-02-16 17:47:26 +13:00
Brandon Presley 5355b0eb6a Move timer logic from AlarmModule -> TimerService
Missing a few of the old features here but ultimately
this will fix #210, #212, #196.
2024-02-16 13:15:42 +13:00
Brandon Presley 1e7c994209 Remove startForeground from AlarmService
Starting a foreground service from the background
causes errors in android 12+
2024-02-16 13:14:00 +13:00
Brandon Presley 3c0f4ce8ad Upgrade react-native from 0.72.3 to 0.73.0 2024-02-15 15:07:11 +13:00
Brandon Presley fd09758ccf Make SettingsModule.ignoringBattery async 2024-02-14 11:14:43 +13:00
Brandon Presley 000f53a9fb Remove INTERNET permission from AndroidManifest.xml - 2.21 🚀
Commit 514efc6467
added the INTERNET permission without justification.

In fact this was already addressed in a f-droid metadata
issue:
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/11623#note_1080190039
2024-02-12 16:58:39 +13:00
Brandon Presley 5e34bd4570 Remove reliance on WRITE_EXTERNAL_STORAGE
https://developer.android.com/about/versions/11/privacy/storage#permissions-target-11
2024-02-12 15:15:34 +13:00
Brandon Presley 47bff2d07c Remove READ_EXTERNAL_STORAGE permission
We never actually used this permission.
2024-02-11 18:32:24 +13:00
Brandon Presley 71d425ca03 Remove redundant code in BackupModule.kt 2024-02-11 18:21:46 +13:00
Brandon Presley 20781ddafe Fix registering receiver warnings in BackupModule.kt 2024-02-11 18:21:10 +13:00
Brandon Presley 655fe8ad53 Remove allowBackup=false from AndroidManifest
No clue why this was specified to begin with.
2024-02-11 18:18:05 +13:00
Brandon Presley 57bc6caffb Auto stop vibrations after 10 seconds - 2.17 🚀
Closes #198
2024-02-11 18:05:38 +13:00
Brandon Presley ff365c791b Add icon to application tag of AndroidManifest.xml 2024-02-11 17:49:53 +13:00
Brandon Presley 60eec2c482 Fix deprecated warning on vibrate 2024-02-10 16:45:19 +13:00
Brandon Presley 07c704841d Use foreground service for alarm completion
Many of our errors in production are caused
by the alarm module finishing. In devices after
android version 7 we are "required" to use
startForegroundService or else the following
error supposedly occurs:

Exception java.lang.IllegalStateException:
  at android.app.ContextImpl.startServiceCommon (ContextImpl.java:1725)
  at android.app.ContextImpl.startService (ContextImpl.java:1680)
  at android.content.ContextWrapper.startService (ContextWrapper.java:731)
  at android.content.ContextWrapper.startService (ContextWrapper.java:731)
  at com.massive.AlarmModule$getTimer$1.onFinish (AlarmModule.kt:144)
  at android.os.CountDownTimer$1.handleMessage (CountDownTimer.java:127)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:236)
  at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java:228)
  at java.lang.Thread.run (Thread.java:923)

I say supposedly because on all of my testing
devices (which are android 7+) this error
doesn't occur.
2024-02-08 20:58:08 +13:00
Brandon Presley 936a47b8b2 Add more information to rest timer notifications - 2.11 🚀
From homepage - Name of exercise
From plans - Name (count/total)
2024-02-07 17:41:38 +13:00
Brandon Presley 8e9a6be85d Start alarm service as non-foreground - 2.8 🚀
Closes #209
2023-11-28 11:16:41 +13:00
Brandon Presley 2a78d2e556 Add button to export sets as CSV - 2.6 🚀
Closes #203
2023-11-21 10:26:34 +13:00
Brandon Presley 2f24104d13 Set finished notification sound to null - 2.4 🚀
Closes #195
2023-11-20 12:24:43 +13:00
Brandon Presley cc6b37e16a Fix timer not always ending - 2.3 🚀
This bug is because I mis-named the event for the alarm finishing.
It would only be possible to create this bug if you do the following:
1. Create a timer
2. Swap to another app for it's duration and keep your phone screen
   active
3. On timer completion, without tapping the notification, focus the app
4. See the timer has not been set to zero
2023-11-15 22:44:02 +13:00
Brandon Presley b6afbfcc17 Fix automatic backups - 1.181 🚀
- The broadcast intent wasn't receiving the target directory
- Add separate button for storing the backup location
2023-11-13 15:19:35 +13:00
Brandon Presley d0c0a52ab4 Simplify logic of AlarmService.playSound
This probably won't fix the disabling sound bug.
2023-11-13 14:12:25 +13:00
Brandon Presley 79e462efc2 Fix app crashing when you change system theme
More specifically, this happens when you restore an
activity (not sure exactly when this happens).
2023-11-13 14:07:45 +13:00
Brandon Presley 706d4d1bbd Add duration setting to alarm vibrations - 1.176 🚀
Closes #179
2023-11-12 12:25:09 +13:00
Brandon Presley 744ed928f0 Fix timer page flashing 00:00 on first navigate 2023-11-04 13:53:19 +13:00
Brandon Presley 9dc188e6ec Remove duplicated permission in AndroidManifest
Also add something to remove the "advertising ID"
or whatever the hell that means. (Thanks google?)
2023-07-17 18:43:15 +12:00
Brandon Presley 514efc6467 Upgrade react-native to 0.72.1
This unfortunately has broken the unit tests.
Will have to worry about fixing them later.
Everything seems to be working other
than that.
2023-07-07 13:17:19 +12:00
Brandon Presley 76e5aeacfd Choose directory when backing up automatically - 1.135
Related to #146.
2023-03-27 14:34:17 +13:00
Brandon Presley 0e7920bde9 Show a toast when EACCESS from backing up - 1.133
I don't like having a bunch of backups saying
massive (x).db. Also this masks the issue of permissions,
which is easily fixed by deleting/moving the old massive.db.
2023-03-24 17:51:16 +13:00
Brandon Presley d2a1c432bb Handle EACCESS in BackupModule 2023-03-24 17:43:28 +13:00
Brandon Presley 79a48b1e47 Run automatic backups after database imports - 1.131 2023-03-09 18:48:32 +13:00
Brandon Presley 13b340f5be Add setting to automatically backup - 1.130
Every day at 6am (also immediately when toggled)
we will copy the massive.db file to the Download
directory.
2023-03-09 17:16:08 +13:00
Brandon Presley 4db820f10a Remove DownloadModule
This was no longer in use
2023-03-07 18:23:38 +13:00
Brandon Presley 00d4edcfc3 Request FOREGROUND_SERVICE permission - 1.127
Related to #142
2023-02-24 19:30:48 +13:00
Brandon Presley cffc458338 Start alarms as a foreground service
Related to #142.
Can't be sure this fixed anything because I can't replicate the error
on my emulators running android 13. I need to install android 13
on a real device and try replicate + see if this fixes it.
2023-01-03 17:04:51 +13:00
Brandon Presley a2721e9f12 Use sqlite in Android code for alarm settings
Closes #129
2023-01-02 18:54:35 +13:00
Brandon Presley 9c184c5924 Add log when alarm finishes 2022-12-08 15:56:09 +13:00
Brandon Presley 6071957a40 Suppress unused parameter in TimerDone.kt 2022-12-02 16:31:20 +13:00