- 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
-
- 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
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>
- 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
- 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
* 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
- 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
removed widget/watch specific/duplicated extensions, moved common data models to xDrip target and made sure targets are set correctly for all common files.
- 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