Commit Graph

1274 Commits

Author SHA1 Message Date
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
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
a0dc62e761 Remove all JS side Timers
This is the result of me fixing the background timers.
Previously our code just used a CountdownTimer
not even in a service, just immediately in the
@ReactMethod. This would in certain scenarios stop
running. Even with battery optimizations turned off.

The reason why all the JS side timers had to be removed
is because we were relying on RCTDeviceEventEmitter
which I don't know how to use from within a Service.
See my stackoverflow ticket here: https://stackoverflow.com/questions/74204339/sending-react-native-android-events-to-javascript-from-a-service

Closes #212, #196
2024-02-17 17:27:42 +13:00
47cfaa4b67 Fix dismissing alarm and add +1 minute button 2024-02-16 17:47:26 +13:00
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
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
6e604d7618 Upgrade all minor+patch versions in package.json 2024-02-16 11:49:50 +13:00
e3d3aad153 Move debug banner to AppStack from AppDrawer
If we have it on the drawer instead of the stack it will
dissapear when navigating to certain screens.
2024-02-15 15:26:14 +13:00
3c0f4ce8ad Upgrade react-native from 0.72.3 to 0.73.0 2024-02-15 15:07:11 +13:00
183d609bea Add indicator for being in debug mode 2024-02-15 14:10:40 +13:00
a9acc6f216 Undo NaN filtering for graphs - 2.24 🚀
We published these changes, yet the error was still
occurring. Leaving this in just lowers performance
for no value.
2024-02-15 13:12:45 +13:00
fd09758ccf Make SettingsModule.ignoringBattery async 2024-02-14 11:14:43 +13:00
5f2327de31 Upgrade react-native-svg 2024-02-13 11:25:37 +13:00
f9fb190f80 Validate database file imported 2024-02-12 18:48:02 +13:00
b24cb85a70 Always pick directory when exporting csv/database - 2.23 🚀
I'm not sure why but Filesystem.exists seems to return
true, even when the app lacks permission to write to
the destination
2024-02-12 18:27:27 +13:00
05b4aa75bb Add icons to dropdown options in Settings - 2.22 🚀 2024-02-12 17:32:02 +13:00
c822acb544 Rename Dark red color and change Slate blue
I didn't like the look of slate blue on a light theme
so i replaced it with this dark magenta instead.
2024-02-12 17:07:17 +13:00
9471d7ce18 Update dark colors
The "Dark orange" was either too light for the contrast
ratio, or too close to dark red so I collapsed the options.
2024-02-12 17:05:24 +13:00
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
0a19d33b50 Add package-lock.json - 2.20 🚀
Somehow i ended up missing a package
2024-02-12 15:26:24 +13:00
9ddd2e963c Change some of the colors - 2.19 🚀 2024-02-12 15:25:47 +13:00
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
bfc1b3d546 Remove needless logging from SettingsPage backupString 2024-02-12 14:00:03 +13:00
5e420ec9c4 Delete unused file write.ts 2024-02-11 22:10:05 +13:00
47bff2d07c Remove READ_EXTERNAL_STORAGE permission
We never actually used this permission.
2024-02-11 18:32:24 +13:00
71d425ca03 Remove redundant code in BackupModule.kt 2024-02-11 18:21:46 +13:00
20781ddafe Fix registering receiver warnings in BackupModule.kt 2024-02-11 18:21:10 +13:00
655fe8ad53 Remove allowBackup=false from AndroidManifest
No clue why this was specified to begin with.
2024-02-11 18:18:05 +13:00
6b60c41ac8 Make bundle and gradle builds quiet in deploy.mjs - 2.18 🚀 2024-02-11 18:11:16 +13:00
57bc6caffb Auto stop vibrations after 10 seconds - 2.17 🚀
Closes #198
2024-02-11 18:05:38 +13:00
ff365c791b Add icon to application tag of AndroidManifest.xml 2024-02-11 17:49:53 +13:00
4d23cf6106 Upgrade constraintlayout 2024-02-10 16:45:42 +13:00
60eec2c482 Fix deprecated warning on vibrate 2024-02-10 16:45:19 +13:00
00ae63c9ba Don't select a date if date picker is cancelled 2024-02-09 15:20:25 +13:00
9a4f2599a6 Add date range selectors to graphs 2024-02-09 15:20:17 +13:00
6ea65bcd16 Auto select last worked on exercise in plans 2024-02-09 14:24:59 +13:00
cf90b798ab Log the commit title in deploy.mjs 2024-02-09 13:20:02 +13:00
c9d297e769 Keep body of last commit message in deploy.mjs - 2.16 🚀 2024-02-09 13:18:38 +13:00
89b62d69aa Guarantee data passed to react-native-chart-kit is not NaN
Related to #206.
2024-02-09 13:02:02 +13:00
4c065a027b Rename Chart -> AppLineChart
Chart is too generic since several types of charts exist
in the react-native-chart-kit.
2024-02-09 12:56:43 +13:00
9c3d6772a9 Ensure reps are always positive - 2.15 🚀 2024-02-09 12:48:12 +13:00
1921ecb9f4 Guarantee ViewGraph only passes numbers to charts
This error occurs on some devices in the Play store
(android 12). I can't reproduce it unless I forcefully
pass NaN to my charts, so this might just fix the error.
Related to #206.

Exception java.lang.Error:
  at com.horcrux.svg.PathParser.parse_number (PathParser.java:627)
  at com.horcrux.svg.PathParser.parse_list_number (PathParser.java:594)
  at com.horcrux.svg.PathParser.parse (PathParser.java:118)
  at com.horcrux.svg.PathView.setD (PathView.java:28)
  at com.horcrux.svg.RenderableViewManager$PathViewManager.setD (RenderableViewManager.java:751)
  at com.horcrux.svg.RenderableViewManager$PathViewManager.setD (RenderableViewManager.java:740)
  at com.facebook.react.viewmanagers.RNSVGPathManagerDelegate.setProperty (RNSVGPathManagerDelegate.java:112)
  at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps (ViewManagerPropertyUpdater.java:46)
  at com.facebook.react.uimanager.ViewManager.updateProperties (ViewManager.java:84)
  at com.facebook.react.uimanager.ViewManager.createViewInstance (ViewManager.java:188)
  at com.facebook.react.uimanager.ViewManager.createView (ViewManager.java:115)
  at com.facebook.react.uimanager.NativeViewHierarchyManager.createView (NativeViewHierarchyManager.java:281)
  at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute (UIViewOperationQueue.java:194)
  at com.facebook.react.uimanager.UIViewOperationQueue$1.run (UIViewOperationQueue.java:909)
  at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches (UIViewOperationQueue.java:1026)
  at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded (UIViewOperationQueue.java:1086)
  at com.facebook.react.uimanager.GuardedFrameCallback.doFrame (GuardedFrameCallback.java:29)
  at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame (ReactChoreographer.java:175)
  at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame (ChoreographerCompat.java:85)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1106)
  at android.view.Choreographer.doCallbacks (Choreographer.java:866)
  at android.view.Choreographer.doFrame (Choreographer.java:792)
  at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1092)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.app.ActivityThread.main (ActivityThread.java:8751)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135)
2024-02-09 11:27:12 +13:00
f8a4157c33 Force push amended changes in deployment - 2.14 🚀 2024-02-08 21:28:11 +13:00
9650a17b61 Merge branch 'master' of gitea.presley.nz:brandon.presley/Massive - 2.13 🚀 2024-02-08 21:25:33 +13:00
15557d1a02 Push to play store last in deploy.mjs - 2.12 🚀 2024-02-08 21:22:41 +13:00
5991a6de39 Push to play store last in deploy.mjs
If the play store is acting up then it should still
at least push the tags so f-droid can update.
2024-02-08 21:22:14 +13:00
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
1f6100607d Add platform independent deploy script
Deploy now by running:

node deploy.mjs
2024-02-08 18:54:06 +13:00
d648850892 Update gemfile 2024-02-08 18:12:19 +13:00
ab91bbe88f Merge gitea.presley.nz:brandon.presley/Massive 2024-02-07 17:41:54 +13:00