Commit Graph

474 Commits

Author SHA1 Message Date
Paul Plant d63a22f883 remove TimeInterval() from ConstantsWidget to prevent compiler complaining 2024-05-01 21:04:26 +02:00
Paul Plant 3f33eff0f7 update settings section icons to use a constants file 2024-05-01 13:02:34 +02:00
Paul Plant d5f390d302 FR localization of Watch App and Complications
Co-Authored-By: Patrick Sonnerat <patrick.sonnerat@hotmail.com>
2024-04-29 21:26:47 +02:00
Paul Plant 6d32a000e3 add placeholder chart data to the widgets (iOS and WatchOS)
- also remove "no trend" arrow that was previously added as it doesn't look good - prefer to leave it blank
2024-04-29 20:46:25 +02:00
Paul Plant de3303f32c NL localization of Watch App and Complications
Co-Authored-By: Johan Degraeve <13840461+johandegraeve@users.noreply.github.com>
2024-04-29 11:23:59 +02:00
Paul Plant f871166c47 DE localization of Watch App and Complications
Co-Authored-By: Deniz Cengiz <48965855+dnzxy@users.noreply.github.com>
2024-04-27 21:40:37 +02:00
Paul Plant 9b4ca5b941 initial localizations of Watch App and Complications
- EN
- ES

Also changes to hide the widget values if the BG values are more than 20 minutes old
2024-04-27 18:25:50 +02:00
Paul Plant a2304836f0 changes to watch complication logic
- Apple Watch settings in main iOS app
- disable by default the complication values to prevent the (constant) user confusion
- force the user to agree that the complications will not update in real-time. If they don't, don't show values in the complications
- localizations added for Watch complications
- watch app "last reading since" changed to "x mins ago"
- double-tapping "remaining complications" will silently force a complication update
- watch state request indicator now changes to orange whilst pending reply from iOS companion app
-
2024-04-26 21:53:02 +02:00
Paul Plant 6e0f8c8ad5 updates to GlucoseChartType to configure new Siri intent type from the existing swiftui glucose chart
- extend and improve the current swiftui glucose chart
- add siri glucose chart type
- add conditional handlers for frame, aspectRatio and padding etc
- tidy up ConstantsGlucoseChartSwiftUI file ro improve readability and remove unnecessary constants
2024-04-20 13:01:03 +02:00
Paul Plant 2b327ac413 tidy up project structure 2024-04-20 13:01:03 +02:00
Paul Plant 8c6dfc2f15 siri integration - initial PR from @gshaviv
from https://github.com/JohanDegraeve/xdripswift/pull/492

Glucose intent

play with response graph scale

app shortcuts

add alternate app pronounciations

Add mention in settings for shortcuts

donate intent on move to foreground

add trend to siri response

fix trend calculation for Siri

Co-Authored-By: Guy Shaviv <guy@shaviv.org>
2024-04-20 13:01:03 +02:00
Paul Plant 460daed601 initial adaptation to xDrip4iOS
- remove range indicator as this is combined with text colour as per xDrip4iOS UI style
- add font size scaling to keep each string size occupying the same space in the complication
- simplification
2024-04-14 09:34:26 +02:00
Paul Plant a3bb69b87e rename NumberImageView to ContactImageView and move to SwiftUIViews folder 2024-04-12 21:01:27 +02:00
Paul Plant 8040eb44d8 rename "Contact Trick" to "Contact Image" in the whole project 2024-04-12 13:54:07 +02:00
Iurii Malchenko 29a40169c6 Merge remote-tracking branch 'yurique/feature/contact-trick' into feature/contact-trick
# Conflicts:
#	xdrip.xcodeproj/project.pbxproj
2024-04-11 17:43:28 +02:00
Iurii Malchenko 931f918278 uncommitted change 2024-04-11 17:41:20 +02:00
Paul Plant 31a3c42cb5
Merge branch 'staging-5.2' into feature/contact-trick 2024-04-11 17:38:45 +02:00
Iurii Malchenko da1d5ab74a Merge branch 'develop' into feature/contact-trick
# Conflicts:
#	xdrip.xcodeproj/project.pbxproj
#	xdrip/Constants/ConstantsLog.swift
#	xdrip/View Controllers/Root View Controller/RootViewController.swift
2024-04-11 15:52:13 +02:00
Paul Plant 7103c3ba31 colour updates/corrections for all widgets
- colour updates/corrections for all widgets

- remove gray color for not recent readings in watch complications

- when using standard apple widgetkit constraints, changing the colour of the bg value and delta to gray when > x minutes old makes no sense as it doesn't indicate that the bg readings are old, rather than that the complication hasn't gotten new data yet (which can be normal for the Watch complication updates).
96ec614a
2024-04-11 11:42:57 +02:00
Paul Plant d2daad8b9a initial implementation of watch/complications background refresh 2024-04-09 18:54:16 +02:00
Paul Plant 72abe3f315
complication widget scaling for 40mm watch (#524) 2024-04-01 13:08:27 +02:00
dnzxy f8f46a76ea Fastfile additions and changes
* Add new xDrip Widget Extension bundle ID
* Change bundle ID and target for Watch Complication Extension
* Change bundle ID and target for Watch App
* Change bundle ID and target for Widget Extension
* Resolve packages
* Update Testflight.md
2024-03-24 22:03:09 +01:00
Paul Plant ddd37d40cb update set iOS deployment targets and correct live activity type logic 2024-03-23 22:22:56 +01:00
Paul Plant 05f31ccd6c update code-sign-identify 2024-03-13 23:06:56 +01:00
Paul Plant a7edde85b4 Merge branch 'develop' into watch-app-3 2024-03-12 14:59:01 +00:00
Paul Plant 4f0b9589e6 widget + live activity view updates 2024-03-12 11:58:14 +01:00
Iurii Malchenko 975aa0032b contact trick initial implementation 2024-03-11 14:37:02 +01:00
Paul Plant 3229a0e532 watch app improvements, follower mode data source, iOS widget improvements
- also widget data is stored in a new userDefaults variable based upon the app bundle to avoid cross-contamination if various versions are installed on the same device
2024-03-10 11:35:05 +01:00
Paul Plant 48beccc216 implement follower mode functionality for Watch App 2024-03-06 09:15:00 +01:00
Paul Plant 2929118301 added widget .accessoryRectangle + various improvements 2024-03-05 17:22:50 +01:00
Paul Plant d671e6ab0a WidgetKit implementation for Watch and xDrip targets 2024-03-04 20:04:07 +01:00
Paul Plant 214ab60ac8 update 240226 2024-02-26 18:10:53 +01:00
Paul Plant c0308aa7f9 update 240225 2024-02-25 12:39:47 +01:00
Johan Degraeve f631d54bd8 DexcomG7 companion mode
Identifies the Dexcom G7 without the need for filling in the device name. Requires that the official Dexcom App always runs in parallel.
2024-02-25 12:15:25 +01:00
Paul Plant c581b2bbcd initial wkcomplication structure 2024-02-23 17:42:23 +01:00
Paul Plant da7b119ec2 update 240223 2024-02-23 12:02:24 +01:00
Paul Plant f6ec1deba9 add refresh timer to watch view 2024-02-22 14:36:37 +01:00
Paul Plant e7e45aaec1 update 240221a 2024-02-21 18:56:10 +01:00
Paul Plant 8ea699d1b8 update 240221 2024-02-21 10:38:59 +01:00
Paul Plant 4742bab560 Update project.pbxproj 2024-02-20 10:36:48 +01:00
Paul Plant 007c8328ba update 240219 2024-02-19 20:22:20 +01:00
Paul Plant 26057fd272 refactoring and cleaning up
removed widget/watch specific/duplicated extensions, moved common data models to xDrip target and made sure targets are set correctly for all common files.
2024-02-14 19:59:53 +01:00
Paul Plant 0e51afe250 Merge branch 'develop' into watch-app 2024-02-13 22:16:52 +01:00
Johan Degraeve 89b03ec2ee Libre3 and/or Dexcom G7 and/or OmniPod as heartbeat
- Libre 3 or Dexcom G7 as heartbeat
  - Libre 3 as heartbeat: avoids the need for audioPlayer that keeps the app alive in the background. When Libre 3 sends data, xDrip4iOS will wake up and fetch a reading from LibreView
  - Dexcom G7 as heartbeat: only useful in combination with Loop. Loop must read the Dexcom G7 readings and upload to NightScout. xDrip4iOS will wake up when G7 sends data and will fetch the latest reading from NightScout. This occurs with a delay (Thread.sleep) of 1 second, to give time to loop to upload the reading to NightScout. Sometimes xDrip4iOS is still to early to fetch the reading. In that case, it may help to delete the heartbeat and recreate it.
  - OmniPod as heartbeat: for OmniPod users, this is a useful additional heartbeat. OmniPod has the interesting 'feature' to disconnect and reconnect every few minutes. Which allows to call the heartbeat function.
  - M5Stack as heartbeat: this is implemented as part of the M5Stack transmitter, it does not appear in the list of heartbeat devices. M5Stack will wake up xDrip4iOS if it didn't receive a reading from xDrip4iOS for more than 5 minutes. This allows xDrip4iOS to download the latest reading and send it to the M5Stack. Needs the latest release of M5stack or M5Stick-C software : https://github.com/JohanDegraeve/M5_NightscoutMon or https://github.com/JohanDegraeve/M5_StickC_xdrip_iOS

- the change required also to re-enable alarms, notifications, badge counter, ... when user has chosen followerBackgroundKeepAliveType disabled

- To use Libre 3 has heartbeat:
 - First connect to Libre 3 with official Libre 3 app
 - when connected, go to the iOS settings and read and note the name of the Libre (it's not something with ABBOTT in it, it's more like a random string)
 - force close the Libre 3 app
 - in xDrip4iOS, go to the bluetooth section
 - add a new transmitter of type HeartBeat
 - select Libre 3
 - as transmitter id, fill in the name you read in the iOS settings, just 4 or 5 characters is enough. It's case insensitive.
 - click the scan button. (you will not be asked to do NFC scan)
 - wait till connected
 - now reopen the official Libre 3 app

- To use Dexcom G7 as heartbeat:
 - make sure you connected at least once to the Dexcom G7 with the official Dexcom app and/or Loop.
 - Not necessary to force close other apps (like Official Dexcom G7 app and Loop)
 - go to the iOS settings and read and note the name of the Dexcom G7. It's case insensitive.
 - in xDrip4iOS, go to the bluetooth section
 - add a new transmitter of type HeartBeat
 - select Dexcom G7
 - as transmitter id, fill in the name you read in the iOS settings.
 - click the scan button. (you will not be asked to do NFC scan)
 - wait till connected

- To use OmniPod as heartbeat:
 - Force close any other app that connects to the OmniPod (that should only be Loop)
 -  - in xDrip4iOS, go to the bluetooth section
 - add a new transmitter of type HeartBeat
 - select OmniPod
 - click the scan button
 - wait till connected
 - you can now reopen Loop
2024-02-13 21:52:40 +01:00
Paul Plant cfc97aa94c basic layout implemented 2024-02-13 20:20:19 +01:00
Paul Plant bc7801d307 rename old WatchManager to CalendarManager. Add placeholder new WatchManager 2024-02-11 12:54:13 +01:00
Paul Plant 1c2e230df9 old Watch App removal 2024-02-05 21:52:55 -06:00
Paul Plant e795fcece6 update 2024-01-21 11:54:04 +01:00
Paul Plant 55ca10a950 revert deployment target back down to iOS15 and add availability checks
also added fallback for live activity settings ui to show as disabled when iOS16.2 is not available
2024-01-03 17:03:24 +01:00
Paul Plant ebd5dc2335 update 2024-01-03 16:13:30 +01:00