Commit Graph

1275 Commits

Author SHA1 Message Date
Brandon Presley 617fca0094 Fix tsconfig.json - 2.25 🚀 2024-02-17 19:11:02 +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 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
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 6e604d7618 Upgrade all minor+patch versions in package.json 2024-02-16 11:49:50 +13:00
Brandon Presley 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
Brandon Presley 3c0f4ce8ad Upgrade react-native from 0.72.3 to 0.73.0 2024-02-15 15:07:11 +13:00
Brandon Presley 183d609bea Add indicator for being in debug mode 2024-02-15 14:10:40 +13:00
Brandon Presley 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
Brandon Presley fd09758ccf Make SettingsModule.ignoringBattery async 2024-02-14 11:14:43 +13:00
Brandon Presley 5f2327de31 Upgrade react-native-svg 2024-02-13 11:25:37 +13:00
Brandon Presley f9fb190f80 Validate database file imported 2024-02-12 18:48:02 +13:00
Brandon Presley 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
Brandon Presley 05b4aa75bb Add icons to dropdown options in Settings - 2.22 🚀 2024-02-12 17:32:02 +13:00
Brandon Presley 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
Brandon Presley 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
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 0a19d33b50 Add package-lock.json - 2.20 🚀
Somehow i ended up missing a package
2024-02-12 15:26:24 +13:00
Brandon Presley 9ddd2e963c Change some of the colors - 2.19 🚀 2024-02-12 15:25:47 +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 bfc1b3d546 Remove needless logging from SettingsPage backupString 2024-02-12 14:00:03 +13:00
Brandon Presley 5e420ec9c4 Delete unused file write.ts 2024-02-11 22:10:05 +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 6b60c41ac8 Make bundle and gradle builds quiet in deploy.mjs - 2.18 🚀 2024-02-11 18:11:16 +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 4d23cf6106 Upgrade constraintlayout 2024-02-10 16:45:42 +13:00
Brandon Presley 60eec2c482 Fix deprecated warning on vibrate 2024-02-10 16:45:19 +13:00
Brandon Presley 00ae63c9ba Don't select a date if date picker is cancelled 2024-02-09 15:20:25 +13:00
Brandon Presley 9a4f2599a6 Add date range selectors to graphs 2024-02-09 15:20:17 +13:00
Brandon Presley 6ea65bcd16 Auto select last worked on exercise in plans 2024-02-09 14:24:59 +13:00
Brandon Presley cf90b798ab Log the commit title in deploy.mjs 2024-02-09 13:20:02 +13:00
Brandon Presley c9d297e769 Keep body of last commit message in deploy.mjs - 2.16 🚀 2024-02-09 13:18:38 +13:00
Brandon Presley 89b62d69aa Guarantee data passed to react-native-chart-kit is not NaN
Related to #206.
2024-02-09 13:02:02 +13:00
Brandon Presley 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
Brandon Presley 9c3d6772a9 Ensure reps are always positive - 2.15 🚀 2024-02-09 12:48:12 +13:00
Brandon Presley 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
Brandon Presley f8a4157c33 Force push amended changes in deployment - 2.14 🚀 2024-02-08 21:28:11 +13:00
Brandon Presley 9650a17b61 Merge branch 'master' of gitea.presley.nz:brandon.presley/Massive - 2.13 🚀 2024-02-08 21:25:33 +13:00
Brandon Presley 15557d1a02 Push to play store last in deploy.mjs - 2.12 🚀 2024-02-08 21:22:41 +13:00
Brandon Presley 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
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 1f6100607d Add platform independent deploy script
Deploy now by running:

node deploy.mjs
2024-02-08 18:54:06 +13:00
Brandon Presley d648850892 Update gemfile 2024-02-08 18:12:19 +13:00