Commit graph

636 commits

Author SHA1 Message Date
Andrei Vereha 21b78562e2 fix command recovery on start 2021-07-13 21:27:37 +02:00
Andrei Vereha bf81db0f6e read message if it's waiting. stop discovery if connection is lost 2021-07-13 21:01:36 +02:00
Andrei Vereha 80b47f57c4 fix time display 2021-07-11 21:44:15 +02:00
Andrei Vereha 465ae7ee8a remove joda 2021-07-11 21:35:40 +02:00
Andrei Vereha d1f99bfb71 remove Joda 2021-07-11 21:19:57 +02:00
Andrei Vereha f289cd50c5 ktlint. update ktlint gradle plugin 2021-07-11 20:11:46 +02:00
Andrei Vereha 9a009d2f96 throw exception when connection fails 2021-07-11 19:24:52 +02:00
Andrei Vereha 7a72cf2f19 pod expiry: use let 2021-07-11 18:35:28 +02:00
Andrei Vereha 99ca414d87 dismiss OMNIPOD_POD_NOT_ATTACHED on pod activation. add logging 2021-07-11 18:19:41 +02:00
Andrei Vereha 4fc0a34785 cleanup 2021-07-11 18:05:06 +02:00
Andrei Vereha c4fc95768e Merge branch 'dash' into avereha/conn 2021-07-11 12:40:01 +02:00
Andrei Vereha 080e990e13 Merge branch 'dash' into avereha/merge 2021-07-11 12:37:10 +02:00
Andrei Vereha 1c8dca7318 compile 2021-07-11 12:34:54 +02:00
Andrei Vereha 5752369377 Merge remote-tracking branch 'upstream/dev' into avereha/merge 2021-07-11 12:26:41 +02:00
Andrei Vereha 5ffc924e63 60_000 2021-07-11 12:02:03 +02:00
Andrei Vereha 87a297c36d constant 2021-07-11 11:55:20 +02:00
Milos Kozak 581bb0af01
New Crowdin updates (#588)
* New translations strings.xml (Czech)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Italian)

* New translations strings.xml (Tamil)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings.xml (Chinese Simplified)

* New translations strings.xml (Turkish)

* New translations strings.xml (Swedish)

* New translations strings.xml (Slovenian)

* New translations strings.xml (Slovak)

* New translations strings.xml (Russian)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Polish)

* New translations strings.xml (Norwegian)

* New translations strings.xml (Dutch)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Korean)

* New translations strings.xml (Hebrew)

* New translations strings.xml (Spanish)

* New translations strings.xml (Romanian)

* New translations strings.xml (French)

* New translations strings.xml (Afrikaans)

* New translations strings.xml (Irish)

* New translations strings.xml (Bulgarian)

* New translations strings.xml (Catalan)

* New translations strings.xml (Danish)

* New translations strings.xml (German)

* New translations strings.xml (Greek)

* New translations alert_titles.xml (Korean)

* New translations alert_descriptions.xml (Korean)

* New translations alert_descriptions.xml (Lithuanian)

* New translations strings.xml (Korean)

* New translations objectives.xml (Hebrew)

* New translations strings.xml (Korean)

* New translations strings.xml (Croatian)

* New translations exam.xml (Korean)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Korean)

* New translations strings.xml (Korean)

* New translations exam.xml (Korean)

* New translations strings.xml (Italian)

* New translations strings.xml (Italian)

* New translations strings.xml (Russian)

* New translations strings.xml (French)

* New translations strings.xml (French)

* New translations strings.xml (Korean)

* New translations exam.xml (Korean)

* New translations objectives.xml (Korean)

* New translations strings.xml (Korean)

* New translations strings.xml (French)
2021-07-09 21:54:34 +02:00
AdrianLxM a6fc9fee0f update jacoco and add global config 2021-07-09 20:02:22 +02:00
Andrei Vereha e467e9f7b6 simplify observeNoActiveCommand 2021-07-04 18:21:12 +02:00
Andrei Vereha 1d925aee12 Merge branch 'avereha/merge-small-fixes' into avereha/conn 2021-06-29 19:46:18 +02:00
Andrei Vereha 33891e509a connect 2021-06-29 19:46:11 +02:00
Andrei Vereha 131c187bb1 fake tbr when the pod is not active 2021-06-28 23:02:16 +02:00
Andrei Vereha b4777a1312 wip: stop connecting 2021-06-28 20:54:47 +02:00
Andrei Vereha 0582fe0326 timeout for service discovery 2021-06-27 22:12:21 +02:00
Andrei Vereha 9c0aa54e6b stop on CountDownLatch 2021-06-27 13:19:06 +02:00
Andrei Vereha e1a996b3f7 wip 2021-06-27 01:38:34 +02:00
Andrei Vereha 8cc6ab260d compile 2021-06-26 15:59:05 +02:00
Andrei Vereha 7b0702b8eb compile. fix build warnings 2021-06-26 15:58:40 +02:00
Andrei Vereha 1018a41346 Merge remote-tracking branch 'upstream/dev' into avereha/conn 2021-06-26 15:21:40 +02:00
Andrei Vereha cb45e51b99 add logging. try to prevent race condition 2021-06-26 15:06:57 +02:00
Andrei Vereha b9acc21633 update notifications 2021-06-26 11:40:01 +02:00
Andrei Vereha 2a35c60e81 notification on pod suspend. try to getpodstatus on activecommands 2021-06-26 11:10:27 +02:00
Andrei Vereha c803f6504b add both INSULIN and CANULA change 2021-06-25 23:34:38 +02:00
Andrei Vereha 80c24a23dc do not display last connection if the pod is not activated 2021-06-25 23:26:38 +02:00
Andrei Vereha 4e4cc4cdfa pumpSync on new pod 2021-06-25 22:39:05 +02:00
Andrei Vereha 8f5ecfd0d6 restart service discovery 2021-06-25 22:14:05 +02:00
Andrei Vereha a62b5f7f70 dismiss notifications 2021-06-25 21:50:25 +02:00
Andrei Vereha 989a20d023 less notifications on unconfirmed commands when switching profile 2021-06-25 21:38:01 +02:00
Andrei Vereha efd3acbb2a save tx after setting basal. save basal in pod state when the basal command is confirmed 2021-06-25 20:52:32 +02:00
Andrei Vereha d882428cc0 set timezone 2021-06-25 19:45:38 +02:00
Theo van Elsberg b82d9cf457 - Redo Pod expiry datetime based on activation time 2021-06-25 14:37:54 +02:00
Theo van Elsberg 3ed9cd0f78 - Fixed loading PodState (failed to serialize)
- Moved Pod expiry time calculation to Pod Manager/PodState
- Show local date/time in overview (TODO: handle TZ)
2021-06-25 13:40:32 +02:00
Andrei Vereha 19ff58ac95 fix timeOnPod 2021-06-24 23:08:32 +02:00
Andrei Vereha 22d78f356b recover pod activation status when lost during activation 2021-06-24 22:37:29 +02:00
Andrei Vereha a3cacc75fe typo 2021-06-24 22:06:56 +02:00
Andrei Vereha c50757a2d1 getPumpStatus only if requested by user while the pod is not activated 2021-06-24 22:06:08 +02:00
Andrei Vereha 3c222f0500 recover active commands on start. Display deaction button after SET_UNIQUE_ID 2021-06-24 21:57:34 +02:00
Andrei Vereha a9f49704d9 compile 2021-06-23 21:53:50 +02:00
Andrei Vereha e916290687 compile 2021-06-23 21:52:57 +02:00
Andrei Vereha e1337f0fb8 update overview 2021-06-23 21:50:58 +02:00
Andrei Vereha 2aeff0e92d disable notifications sound 2021-06-22 22:49:26 +02:00
Andrei Vereha 44c7747405 remove test 'active command' 2021-06-22 22:43:14 +02:00
Andrei Vereha e7cc35a132 Merge branch 'avereha/bolus' into avereha/notifications 2021-06-22 22:42:16 +02:00
Andrei Vereha ab9a59591d Merge branch 'avereha/bolus' into avereha/notifications 2021-06-22 22:36:52 +02:00
Andrei Vereha 6ee4ec1ae3 format 2021-06-22 22:36:35 +02:00
Andrei Vereha e51d071181 add notifications 2021-06-22 22:27:29 +02:00
Theo van Elsberg d8b9ae1036 Updating DASH Overview for "Time On Pod" and "Pod Expires" 2021-06-22 13:30:08 +02:00
Andrei Vereha 3ebfe1b268 indent. add notifications 2021-06-21 19:31:17 +02:00
Andrei Vereha 92c0aba929 cleanup 2021-06-21 19:30:40 +02:00
Andrei Vereha 9ca82441bb try different connection timeouts 2021-06-21 19:29:22 +02:00
Andrei Vereha 422ea31f6f do not check for active commands when canceling 2021-06-19 23:58:44 +02:00
Andrei Vereha d4f7caf119 update message 2021-06-19 17:49:33 +02:00
Andrei Vereha e0b33c74a1 fix progress bar 2021-06-19 17:05:37 +02:00
Andrei Vereha 665444ea9e fix command sending failure 2021-06-19 16:12:41 +02:00
Andrei Vereha 100f2b9e69 display deliveryStatus only in debug mode 2021-06-19 14:42:40 +02:00
Andrei Vereha a0b64a9062 beeps 2021-06-19 14:31:14 +02:00
Andrei Vereha d4a73abbf3 add details about TBR 2021-06-19 13:17:00 +02:00
Andrei Vereha 863fb19ff0 fix bolus cancelation 2021-06-19 13:13:43 +02:00
Milos Kozak 740c009471 gradle:7.1.0-alpha02 2021-06-16 08:23:55 +02:00
Andrei Vereha 59d0245980 fix unconfirmed commands 2021-06-12 23:30:37 +02:00
Andrei Vereha 16a2c8ea55 try different conn timeout. fix case when connection is established and session is null 2021-06-12 12:16:45 +02:00
Andrei Vereha 898c1c7906 format 2021-06-11 21:27:04 +02:00
Andrei Vereha 96e06cb33a add back the connection retry 2021-06-11 18:42:52 +02:00
Andrei Vereha 1910ac7b60 update overview fragment. set basal if pod is not activated 2021-06-10 08:22:29 +02:00
Andrei Vereha fa846bdd65 fix after merging 2021-06-07 09:30:57 +02:00
Andrei Vereha bad72b2a62 Merge branch 'dash' into avereha/bolus 2021-06-06 21:30:44 +02:00
Andrei Vereha b5757c08ac Merge branch 'dash' into avereha/alarms 2021-06-06 21:30:08 +02:00
Andrei Vereha 697e646854 Merge branch 'dash' into avereha/basal 2021-06-06 21:28:23 +02:00
Andrei Vereha f6d0520fe2 save bolusPulsesRemainig 2021-06-06 21:25:40 +02:00
Andrei Vereha 95c9bd94a1 do not check pod status before deactivation. It will be deactivated anyway 2021-06-06 18:47:49 +02:00
Andrei Vereha 18735540fd Merge branch 'avereha/alarms' into avereha/bolus 2021-06-06 18:42:07 +02:00
Andrei Vereha b55dacd12c add checkPodKaput 2021-06-06 18:41:17 +02:00
Andrei Vereha aa719e0b9f handle Pod Alarm 2021-06-06 18:35:19 +02:00
Andrei Vereha 909eae3f3f log 2021-06-06 17:47:36 +02:00
Andrei Vereha a25fffd075 stop bolus 2021-06-06 13:43:44 +02:00
Andrei Vereha 4f459b9fc1 Merge branch 'avereha/alarms' into avereha/bolus 2021-06-06 13:11:16 +02:00
Andrei Vereha d82be68796 fix alerts(UNKNOWN will always match) 2021-06-06 13:09:27 +02:00
Andrei Vereha b80327c9bf bolus: send progress 2021-06-06 12:24:32 +02:00
Andrei Vereha 79b4a5d656 simplify executeProgrammingCommand. Start implementing alerts 2021-06-06 10:47:29 +02:00
Andrei Vereha c72f2f352f always enforceNew 2021-06-05 20:37:17 +02:00
Andrei Vereha d0c947c988 updates for display of temp basal 2021-06-05 20:32:35 +02:00
Andrei Vereha b440003de4 ignore enforeNew for now 2021-06-05 20:14:28 +02:00
Andrei Vereha fc919f24cd save temp basal to pod state 2021-06-05 18:14:13 +02:00
Andrei Vereha ffe3246fc0 remove 'Using connected state for unconfirmed commands' 2021-06-05 15:23:03 +02:00
Andrei Vereha 70eb5e6d0c recover unconfirmed basal 2021-06-05 14:52:58 +02:00
Andrei Vereha 7c20bfb7f0 implement basals 2021-06-05 14:18:04 +02:00
Andrei Vereha 33243a7ed4 create fake TBR on suspend. Fix createHistory timing bug 2021-06-04 22:56:58 +02:00
Andrei Vereha 5d3b2faeb9 pumpsync on suspend/resume 2021-06-04 19:32:00 +02:00
Andrei Vereha 76a0e93ee2 stop testing failed commands 2021-06-03 22:19:51 +02:00
Andrei Vereha 17c61db256 merge 2021-06-03 22:18:25 +02:00
Andrei Vereha 3dc4781692 use delivery status for checking if there is a tempbasal to cancel 2021-06-03 22:15:26 +02:00
Andrei Vereha 34103931f5 add comment 2021-06-03 22:00:42 +02:00
Andrei Vereha 25141d3939 undo the last change 2021-06-03 21:48:03 +02:00
Andrei Vereha 2afe220d28 suspend/resume 2021-06-03 19:43:59 +02:00
Milos Kozak fedba23405 code cleanup 2021-06-01 22:51:16 +02:00
Andrei Vereha d392caa6e9 move private fun at the end 2021-06-01 22:00:16 +02:00
Andrei Vereha 432e06adaa simplify: use lastUpdatedSystem for lastConnection 2021-06-01 21:50:55 +02:00
Andrei Vereha b91e8506a0 move the common code to getCommandConfirmationFromState 2021-06-01 21:41:13 +02:00
Andrei Vereha c8fee31ae8 cleanup 2021-06-01 08:12:03 +02:00
Andrei Vereha d0b1757268 bugfix: send error when we can't send the command 2021-06-01 00:18:38 +02:00
Andrei Vereha e867b1397d remove maybeMarkActiveCommandFailed. this logic was moved in "updateActiveCommand" 2021-05-31 22:15:39 +02:00
Andrei Vereha a20cc1cca3 simplify 2021-05-31 22:09:49 +02:00
Andrei Vereha 9d61c8ee8a remove unused function 2021-05-31 21:00:54 +02:00
Andrei Vereha 7dc01cb1f8 add comments 2021-05-31 00:13:52 +02:00
Andrei Vereha a2b3ab5991 add TODO 2021-05-31 00:04:25 +02:00
Andrei Vereha 8e64ca134f ktlintFormat 2021-05-31 00:01:54 +02:00
Andrei Vereha c989c6a1c5 duration is in ms 2021-05-30 23:55:47 +02:00
Andrei Vereha 3ca88ef51b bugfix: set the tempbasal timestamp to the time when the historyEntry was created, not a random number :) 2021-05-30 23:09:15 +02:00
Andrei Vereha 91957930ed display bluetooth connection status. display deliveryStatus. display lastConnection 2021-05-30 22:49:35 +02:00
Andrei Vereha 3b26068faf set temp basal beeps 2021-05-30 19:03:26 +02:00
Andrei Vereha 3314df7bb7 implement TempBasal pumpSync and confirmation 2021-05-30 18:35:53 +02:00
Andrei Vereha ebb3030169 make it compile 2021-05-28 23:37:00 +02:00
Andrei Vereha 684250a40f Merge branch 'avereha/dev2-merge' into avereha/temp-basals 2021-05-02 14:20:17 +02:00
Andrei Vereha c544ef6c19 merge tests 2021-05-02 14:19:46 +02:00
Andrei Vereha 5179670e9c merge for tests 2021-05-02 14:10:15 +02:00
Andrei Vereha dcfd9bcdbf merge 2021-05-02 14:02:10 +02:00
Andrei Vereha 976ae45057 ktlintFormat 2021-05-02 10:38:22 +02:00
Andrei Vereha dd8ebded1a merge: profile is not an interface 2021-05-02 10:37:06 +02:00
Andrei Vereha 2ae9f399aa s/utils.extensions/extensions/ 2021-05-02 10:31:47 +02:00
Andrei Vereha f197141cd5 merge:
.comment is now in Kotlin and it does not accept a String?
 symbol renames
2021-05-02 10:28:45 +02:00
Andrei Vereha c36e521efb use concat(listOf()) 2021-05-02 10:00:11 +02:00
Andrei Vereha 4bd5e7c625 observe there is no activeCommand 2021-05-01 20:56:02 +02:00
Andrei Vereha b7db79f296 interface updates 2021-05-01 20:28:42 +02:00
Andrei Vereha e3f7608de7 Merge remote-tracking branch 'upstream/dev2_dana_combo_only' into avereha/dev2-merge 2021-05-01 20:11:48 +02:00
Andrei Vereha 24e5223ad1 val 2021-05-01 19:28:01 +02:00
Andrei Vereha 9e770601f3 merge CommandConfirmed and CommandDenied 2021-05-01 19:19:18 +02:00
Andrei Vereha ee73cd5f2b remove comment 2021-05-01 18:54:17 +02:00
Andrei Vereha 912c847dcb rename to historyId 2021-05-01 18:43:11 +02:00
Andrei Vereha c759e651c5 remove TODO 2021-05-01 18:39:06 +02:00
Andrei Vereha 19ff47e53d add comments 2021-05-01 17:59:22 +02:00
Andrei Vereha 8d112a12ca rename 2021-04-26 21:57:32 +02:00
Andrei Vereha cddf7a3f68 add check for onError whent the command was sent 2021-04-26 21:56:54 +02:00
Andrei Vereha b64d530ae9 ktlintFormat 2021-04-21 23:29:16 +02:00
Andrei Vereha d3c73f9665 update on CommandSendNotConfirmed 2021-04-21 23:14:25 +02:00
Andrei Vereha 0fad1bc6c7 add comment 2021-04-21 22:54:47 +02:00
Andrei Vereha 20560f2a4e remove the active command if we get an error sending it 2021-04-21 22:52:22 +02:00
Andrei Vereha 3a2fa6d04f defer 2021-04-21 22:37:58 +02:00
Andrei Vereha 1e4cda01a3 Revert "Revert "remove duplication""
This reverts commit d49b87d124.
2021-04-21 20:44:26 +02:00
Andrei Vereha d49b87d124 Revert "remove duplication"
This reverts commit 05047029ea.
2021-04-19 21:55:45 +02:00
Andrei Vereha 05047029ea remove duplication 2021-04-19 21:46:50 +02:00
Milos Kozak cada2919d1 prepare Profile interface 2021-04-19 18:44:17 +02:00
Andrei Vereha 142ad126b5 add history, command confirmation for more commands 2021-04-18 21:54:50 +02:00
Andrei Vereha 842f196ae8 confirm/deny commands 2021-04-18 21:39:20 +02:00
Milos Kozak 24164eee98 PumpInterface rename 2021-04-14 19:36:13 +02:00
Andrei Vereha 821135edec dash ble: Supress deteket 2021-04-04 21:04:21 +02:00
Andrei Vereha 40ac1d189a dash ble: detekt reduce number of arguments 2021-04-04 17:57:17 +02:00
Andrei Vereha 513007f6ae dash: undo the temporary discardButtonEnabled test 2021-04-04 17:15:44 +02:00
Andrei Vereha 0c35eb7da9 dash: bugfix DefaultStatusResponse and add more tests 2021-04-04 17:10:17 +02:00
Andrei Vereha 6d2d5a7e76 dash ble: detekt 2021-04-04 16:06:39 +02:00
Andrei Vereha c1426941cf dash: address feedback 2021-04-04 13:43:39 +02:00
Andrei Vereha 14af90e9e3 dash: ktlintFormat 2021-04-04 13:36:33 +02:00
Andrei Vereha ff6a67cc97 detekt 2021-04-04 13:32:09 +02:00
Andrei Vereha 64fbea6afe dash ble: detekt 2021-04-04 13:16:05 +02:00
Andrei Vereha 210a446123 dash ble: ktLintFormat 2021-04-04 12:43:17 +02:00
Andrei Vereha 5b10ad13ec dash ble: handle disconnects 2021-04-04 12:40:28 +02:00
Andrei Vereha 547454de6c dash ble: check for RTS 2021-04-03 23:31:43 +02:00
Andrei Vereha 9597922058 dash ble: fix reconnection and improve logging for BleCallbacks
When reconnecting, we have to use the discovered Characteristics and not
the ones that we used for the previous connection
2021-04-03 22:58:54 +02:00
Andrei Vereha a29874dc6d implement EAP-AKA resynchronization 2021-04-03 12:20:11 +02:00
Andrei Vereha c4291113a6 fixes 2021-04-02 16:31:27 +02:00
Andrei Vereha 20179781ef dash ble: warnings 2021-04-02 14:33:18 +02:00
Andrei Vereha 0f58185109 simplify read error handling 2021-04-02 14:32:00 +02:00
Andrei Vereha e8bc50f458 merge 2021-04-02 14:31:12 +02:00
Milos Kozak e26e023ebf prepare TemporaryBasal 2021-04-01 23:46:21 +02:00
Bart Sopers afd28656d9 Merge branch 'bart/create-responses' into bart/implement-pump-plugin 2021-03-31 11:25:20 +02:00
Bart Sopers 12dad6662c Merge branch 'dash' into bart/create-responses 2021-03-31 11:21:59 +02:00
Bart Sopers fe9c5d00a7 WIP on implementing OmnipodDashPumpPlugin + some autoformatting 2021-03-31 11:18:58 +02:00
Andrei Vereha 470b21aad4 detekt 2021-03-31 08:26:35 +02:00
Bart Sopers 811f136830 Implement most methods in OmnipodDashManagerImpl + cleanup 2021-03-31 01:10:21 +02:00
Andrei Vereha 89bcd52994 detekt 2021-03-30 23:33:59 +02:00
Bart Sopers 19a132c596 Remove unused constants 2021-03-30 01:33:01 +02:00
Bart Sopers 76c4d01ee7 Bugfix in setting Dash basal 2021-03-30 01:21:35 +02:00
Andrei Vereha 5209386fc1 compile 2021-03-28 23:24:38 +02:00
Andrei Vereha 189b791c5c detekt 2021-03-28 23:24:12 +02:00
Andrei Vereha 6c9aa90679 ktLintFormat 2021-03-28 23:17:15 +02:00
Andrei Vereha b630c4d21a format 2021-03-28 23:15:42 +02:00
Andrei Vereha 96b1b177a6 call readyToRead on BleIOs 2021-03-28 23:14:41 +02:00
Andrei Vereha 2f87620050 compile 2021-03-28 23:12:17 +02:00
Andrei Vereha 38a1d9c6bc add BusyException 2021-03-28 23:09:44 +02:00
Andrei Vereha 8d2d38163a simplify exceptions 2021-03-28 21:43:32 +02:00
Andrei Vereha 4b49392200 improve error handling 2021-03-28 20:48:11 +02:00
Milos Kozak 7f0fe881b6 DetailedBolusInfo, MealLink UI 2021-03-25 17:48:07 +01:00
Andrei Vereha ae08e43109 add retries when sending commands 2021-03-21 15:12:33 +01:00
Andrei Vereha 7be0afda27 dash ble: implement retries when receiving messages 2021-03-21 14:56:32 +01:00
Bart Sopers 653deff0b6 Omnipod Dash: improve logging and fix prime timeouts 2021-03-20 20:45:53 +01:00
Andrei Vereha de6ca939ed dash ble: move parsing logic out of PayloadJoiner to BlePacket 2021-03-16 22:45:02 +01:00
Bart Sopers ebdc2aebe0 More WIP on Omnipod Dash Pod activation 2021-03-15 01:34:02 +01:00
Bart Sopers 6d4521ca6b WIP on integrating Omnipod Dash activation wizard 2021-03-15 00:51:07 +01:00
Bart Sopers dd480134e2 Remove unused variables 2021-03-14 23:13:41 +01:00
Bart Sopers 06de8a04e2 Log actual received message type for unknown Omnipod Dash responses 2021-03-14 23:11:48 +01:00
Bart Sopers 137908eb20 Fix crash in Omnipod Dash Pod activation 2021-03-14 22:49:25 +01:00
Bart Sopers 98dc2f92ef Add delay for prime and cannula insertion for Omnipod Dash 2021-03-14 22:39:07 +01:00
Andrei Vereha 8868f29ab2 dash ble: use higher timeout when reading a message
This timeout(4s) is the same that the PDM uses to send messaged with
`eqos` when they are not acknowledged
2021-03-14 22:06:52 +01:00
Bart Sopers 1872e1ceb7 Correctly handle NAK response for Omnipod Dash 2021-03-14 21:45:52 +01:00
Bart Sopers 10c316edd9 Omnipod Dash: provide and verify expected response type 2021-03-14 21:25:15 +01:00
Andrei Vereha 442a0b274f dash ble: add comment about why I think the NACK logic is not ok 2021-03-14 21:21:47 +01:00
Andrei Vereha 109f66a48d dash ble: start implementing retries
Handle NACKs for now.
2021-03-14 21:21:47 +01:00
AdrianLxM 95d7f0737c fix gitignore and tests 2021-03-14 21:19:24 +01:00
Bart Sopers aff38851e1 Add Omnipod Dash response parsing 2021-03-14 20:14:11 +01:00
AdrianLxM 7db5c28632 delint 2021-03-14 19:52:08 +01:00
AdrianLxM bf3fe19a4e only open for tests/debug 2021-03-14 19:42:02 +01:00
AdrianLxM 3d93e4d84d mock provider instead of constructor parameter 2021-03-14 18:24:15 +01:00
Andrei Vereha b33c55273c dash ble: fix detekt issues 2021-03-14 16:14:00 +01:00
Andrei Vereha b71f065974 dash ble tests: ktlintFormat 2021-03-14 16:00:59 +01:00
Andrei Vereha a94d6ce652 dash ble test: remove fixed TODO 2021-03-14 15:59:36 +01:00
Andrei Vereha 379c0cd8c7 dash bke tests: fix decrypt test
We were trying to use an encryption NONCE for decryption.
The fix was to replac data with data from logs.
2021-03-14 15:58:12 +01:00
Andrei Vereha 752f393f3b dash ble: add test for MessagePacket 2021-03-14 15:57:16 +01:00
Andrei Vereha eff6247f77 dash ble: remove unused class 2021-03-14 15:57:16 +01:00
Andrei Vereha eda52857e5 dash ble: add tests for StringLengthPrefixEncodingTest
We tested this part with a real pod and confirmed that it's working
2021-03-14 15:57:16 +01:00
Andrei Vereha 5f71e1b27f dash ble: add tests for payload splitting and joining 2021-03-14 15:57:16 +01:00
Andrei Vereha 50d1dad786 dash LTK: add test
Now that we know this part is working, I'm adding a test with data from
logs
Moved the key exchange logic to its own class so it is easier to
test
2021-03-14 15:44:28 +01:00
Andrei Vereha 27daa4554a
Merge pull request #22 from 0pen-dash/andrei/detekt-max-issues
dash detekt: set maxIssues to -1
2021-03-14 15:42:03 +01:00
Andrei Vereha 0396b9ca99 dash ble: use .let(Id::fromLong)
https://github.com/0pen-dash/AndroidAPS/pull/21#pullrequestreview-610227073
2021-03-11 23:06:00 +01:00
Andrei Vereha a1f8cf807d dash detekt: set maxIssues to -1
I noticed that with this setting I can detekt from android-studio and
see all the issues reported in the Build Output.

Without it, I can only see: "Build failed with X issues."
2021-03-11 21:43:25 +01:00
Andrei Vereha 27e9b25e86 dash: update TODO comment 2021-03-11 21:40:51 +01:00
Andrei Vereha 1a678a9507 dash/ble: stop reading a message on send
We were receiving a message in that case just because we used the `eqos`
parameter incorrectly.
2021-03-11 21:36:43 +01:00
Andrei Vereha 2aed2005ef dash ble: renames and fixes after testing 2021-03-11 21:27:18 +01:00
Andrei Vereha 8154e16c94 dash ble: add a separate method for activating a new pod
So we can call it explicitly instead of activating a new pod on
connect()
2021-03-09 23:19:22 +01:00
Andrei Vereha c337b52aa0 dash/ble: support both 1 and 2 byte command
It seems that the PDM is sending 1 byte commands and the POD answers
with 2 byte commands.

Add logging for decrypted responses.

I think `eqos` means that we are expecting an ACK for the last message.
Read (and log for now) a pending message if the POD is trying to sending it back while we want
to send a command.
2021-03-08 22:52:04 +01:00
Andrei Vereha db51b762ca dash ble: disconnect on errors 2021-03-08 22:52:04 +01:00
Andrei Vereha 64aa05f7f9 dash en/decrypt test: add comment about failing test 2021-03-08 22:52:04 +01:00
Andrei Vereha 923d8d33ef dash eap: bugfix
Shift the MSB of the lenght by 1 byte, not one bit.
2021-03-08 22:52:04 +01:00
Andrei Vereha 7dd8fc1bf6 dash/ble: ktlintFormat 2021-03-08 22:52:04 +01:00
Andrei Vereha e7a9e24093 dash: start using podState for BLE
implement disconnect()
various fixes after testing with a real pod(cmd is 2 bytes, message
joining, etc)
2021-03-08 22:52:04 +01:00
Andrei Vereha 4046828567 format: ktlint 2021-03-08 22:52:04 +01:00
Andrei Vereha c71433ad1a format: remove trailing commao 2021-03-08 22:52:04 +01:00
Andrei Vereha 5211d4ddc6 dash ble: implement sessions and sending commands
Tested with the fake pod:
```
DEBU[0185] got command. CRC: 82b2. Type: 7 :: GET_VERSION
DEBU[0185] got command. CRC: 0003. Type: 3 :: SET_UNIQUE_ID
DEBU[0186] got command. CRC: 019a. Type: 19 :: PROGRAM_ALERTS
DEBU[0186] got command. CRC: 0385. Type: 19 :: PROGRAM_ALERTS
DEBU[0187] got command. CRC: 81f3. Type: 1a :: PROGRAM_INSULIN
DEBU[0187] got command. CRC: 8178. Type: e :: GET_STATUS
```
2021-03-08 22:52:04 +01:00
Andrei Vereha 5647007190 dash/ble: remove retries for connect for now
It's easier to debug for now if we stop on the first issue/error
2021-03-08 22:52:04 +01:00
Andrei Vereha 9c586c4942 dash encryption: add encryption and decryption for messsages 2021-03-08 22:52:04 +01:00
Milos Kozak 91e323b5f5
New Crowdin updates (#388)
* New translations exam.xml (Portuguese)

* New translations validator.xml (Slovak)

* New translations alert_descriptions.xml (Slovak)

* New translations strings.xml (Slovak)

* New translations strings.xml (Slovak)

* New translations strings.xml (Slovak)

* New translations strings.xml (Slovak)

* New translations strings.xml (Slovak)

* New translations strings.xml (Slovak)

* New translations strings.xml (Slovak)

* New translations strings.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations alert_titles.xml (Tamil)

* New translations alert_descriptions.xml (Tamil)

* New translations alert_codes.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations validator.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations exam.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations strings.xml (Tamil)

* New translations objectives.xml (Tamil)

* New translations exceptions.xml (Tamil)

* New translations strings.xml (Hebrew)

* New translations strings.xml (Norwegian)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings.xml (Chinese Simplified)

* New translations strings.xml (Swedish)

* New translations strings.xml (Slovak)

* New translations strings.xml (Russian)

* New translations strings.xml (Portuguese)

* New translations exam.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Polish)

* New translations strings.xml (Dutch)

* New translations strings.xml (Romanian)

* New translations strings.xml (Lithuanian)

* New translations strings.xml (Korean)

* New translations strings.xml (Italian)

* New translations strings.xml (Greek)

* New translations strings.xml (German)

* New translations strings.xml (Czech)

* New translations strings.xml (Bulgarian)

* New translations strings.xml (Afrikaans)

* New translations strings.xml (Spanish)

* New translations strings.xml (French)

* New translations strings.xml (German)

* New translations validator.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Norwegian)

* New translations strings.xml (Hebrew)

* New translations objectives.xml (Hebrew)

* New translations strings.xml (Czech)

* New translations strings.xml (Italian)

* New translations strings.xml (Portuguese)

* New translations alert_titles.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Russian)

* New translations strings.xml (Portuguese)

* New translations exam.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations validator.xml (French)

* New translations alert_descriptions.xml (French)

* New translations alert_titles.xml (French)

* New translations strings.xml (French)

* New translations strings.xml (German)

* New translations strings.xml (French)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Russian)

* New translations strings.xml (Czech)

* New translations strings.xml (Italian)

* New translations strings.xml (Norwegian)

* New translations strings.xml (French)

* New translations alert_descriptions.xml (Swedish)

* New translations alert_titles.xml (Swedish)

* New translations strings.xml (Swedish)

* New translations exam.xml (Swedish)

* New translations strings.xml (Swedish)

* New translations strings.xml (Swedish)

* New translations strings.xml (Swedish)

* New translations strings.xml (Swedish)

* New translations strings.xml (Swedish)

* New translations strings.xml (Swedish)
2021-03-08 20:22:45 +01:00
Milos Kozak 563bee2faf PumpDescription -> kt 2021-03-07 15:19:51 +01:00
Andrei Vereha c2627176cf dash BleIO: s/let/also 2021-03-03 17:07:18 +01:00
Andrei Vereha 7976df596e dash eap-aka: use named parameters 2021-03-03 17:02:59 +01:00
Andrei Vereha c3d7cf9483 dash LTK exchange: s/var/val 2021-03-03 17:02:12 +01:00
Andrei Vereha 7c0e2af053 dash: rename EAP AKA to SessionEstablisher 2021-03-03 14:24:23 +01:00
Andrei Vereha b2797fa57f dash: undo ktLint 2021-03-03 14:22:09 +01:00
Andrei Vereha da84c35b31 format: CTRL+Alt+L 2021-03-03 14:18:20 +01:00
Andrei Vereha 154e74fc22 dash ble: fix detekt issues 2021-03-03 14:10:33 +01:00
Andrei Vereha c9beb21404 format: klintFormat 2021-03-02 22:22:03 +01:00
Andrei Vereha ada3560f49 format: remove trailing commas 2021-03-02 22:20:30 +01:00
Andrei Vereha e90bda0234 dash eap-aka: complete the session key exchange
Fake pod logs
```
INFO[0021] got CK: daff384a4098571975d136a480a71b36
INFO[0021] got Nonce: 33a0c6dd0a0a0a0a
```

The application logs:
```
[OmnipodDashBleManagerImpl$connect$1.subscribe():139]: CK: daff384a4098571975d136a480a71b36
 [OmnipodDashBleManagerImpl$connect$1.subscribe():140]: noncePrefix: 33a0c6dd0a0a0a0a
```
2021-03-02 22:17:11 +01:00
Andrei Vereha 9c42e5749f ble/milenage: fix and add tests 2021-03-02 18:39:03 +01:00
Andrei Vereha 099ec0a328 ble scan: improve log message 2021-03-02 18:37:45 +01:00
Andrei Vereha b6692a5ac6 WIP: add Milenage
AUTN is not correct yet
2021-03-02 10:44:36 +01:00
Milos Kozak b5dcf27b07
New Crowdin updates (#378)
* New translations validator.xml (Dutch)

* New translations validator.xml (German)

* New translations alert_descriptions.xml (German)

* New translations alert_titles.xml (German)

* New translations strings.xml (German)

* New translations strings.xml (German)

* New translations strings.xml (German)

* New translations strings.xml (German)

* New translations validator.xml (Romanian)

* New translations alert_descriptions.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations exam.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations validator.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)

* New translations strings.xml (Romanian)
2021-03-01 23:55:55 +01:00
Andrei Vereha e82826bf5a dash/ble: start implement EAP-AKA 2021-03-01 15:22:52 +01:00
Andrei Vereha 0523f7c17c format: remove trailing commas 2021-03-01 15:20:02 +01:00
AdrianLxM 89ff502518 a bit more formatting 2021-03-01 14:35:50 +01:00
AdrianLxM 5ef07dd0be detekt resolve a few more 2021-03-01 13:52:43 +01:00
AdrianLxM e7b3d85639 detekt resolve a few 2021-03-01 13:49:39 +01:00
AdrianLxM 77c816e813 ktlint format 2021-03-01 13:39:02 +01:00
AdrianLxM 9a6a81248d Merge remote-tracking branch 'origin/bart/implement-managers' into adrian/linting 2021-03-01 12:40:42 +01:00
AdrianLxM 070ba1cfc2 add ktlint and detekt 2021-03-01 12:34:47 +01:00
Bart Sopers 59bfa7a04d Implement Pod activation command flow 2021-03-01 01:23:40 +01:00
Bart Sopers 82d2f9ae36 Merge branch 'dash' into bart/improvements 2021-02-28 21:10:09 +01:00
Andrei Vereha c8bded99ab remove tailing comma 2021-02-28 19:45:21 +01:00
Andrei Vereha a7ca5fd863 format code: Ctrl+Alt+L 2021-02-28 19:44:10 +01:00
Bart Sopers 8e7b1d3612 Review: use fold in AlertUtil.encodeAlerts 2021-02-28 19:28:52 +01:00
Andrei Vereha 57c2d2d9a1 Address review comments:
- move think dependency to core_dependencies and make it's version
   configurable: https://github.com/0pen-dash/AndroidAPS/pull/10#discussion_r584329468
 - add message string to exceptions. Renames
2021-02-28 19:11:42 +01:00
Bart Sopers 8e7e2450ae Update active alerts from default status response in Pod state 2021-02-28 18:46:49 +01:00
Bart Sopers bf060da878 Fix typo 2021-02-28 18:42:17 +01:00
Andrei Vereha b1f099c506 rename LTK to Pair 2021-02-28 18:38:43 +01:00
Andrei Vereha ee0ac46c5a Finish implementing the LTK exchange
On the fake pod:
```
INFO[0067] LTK 21f4a9d825ce5e57bad5b4958c6ff95e
```
Logcat:
```
2021-02-28 18:21:04.763 19530-22490/info.nightscout.androidaps I/PUMPCOMM: [AsyncTask #4]: [OmnipodDashBleManagerImpl.connect():86]: Got LTK: 21f4a9d825ce5e57bad5b4958c6ff95e
``
2021-02-28 18:37:36 +01:00
Andrei Vereha ddb1c18349 ble ltk: implement encryption and message parsing 2021-02-28 18:33:07 +01:00
Andrei Vereha ddfbd2e7bd dash ble tlk: start generating keys 2021-02-28 18:33:07 +01:00
Andrei Vereha 39408ac535 BLE LTK: define all the steps 2021-02-28 18:33:07 +01:00
Andrei Vereha 1aa6d02893 ble: implement message reading&joining
Now are able to read the first message:
```
INFO[0005] Received SPS1  6b943ec06b594f8a0383f384a3c916da75e1c7846c3e1b73f72f86ee2dc48774b2b4e5ad62d798b76cfd06be1cd4c937
DEBU[0005] Donna LTK: b874cb3cbe487040442138452faeb02d284ac55f489f19593265ff52f7310f1f
DEBU[0005] First key 58cb3b742dc48774000000001cd4c937 :: 16
DEBU[0005] CMACY: 16
DEBU[0005] Intermediar key 4c13eebc4cf09795a07c50bf13786c18 :: 16
DEBU[0005] Pod public 2fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b74 :: 32
DEBU[0005] Pod nonce 00000000000000000000000000000000 :: 16
DEBU[0005] Generated SPS1: 535053313d00302fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b7400000000000000000000000000000000
TRAC[0005] CMD notification return: 4/00
TRAC[0005] received CMD:  01
TRAC[0005] Sending message: 54570003000006e00000109100001092535053313d00302fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b7400000000000000000000000000000000
TRAC[0005] DATA notification return: 23/000354570003000006e000001091000010925350
TRAC[0005] DATA notification return: 23/0153313d00302fe57da347cd62431528daac5fbb
TRAC[0005] DATA notification return: 23/02290730fff684afc4cfc2ed90995f58cb3b7400
TRAC[0005] DATA notification return: 23/030f7d02931d0000000000000000000000000000
TRAC[0005] DATA notification return: 23/0401000000000000000000000000000000000000
TRAC[0005] received CMD:  04
```
2021-02-28 18:33:05 +01:00
Andrei Vereha 81ad52ebce implement SPS1 command
I had to add a new dependency: `tink-android:1.5.0` for X25519
2021-02-28 18:32:21 +01:00
Andrei Vereha 11633995f6
Merge pull request #11 from 0pen-dash/bart/observable-connect
Make OmnipodDashBleManager.connect() return an Observable of PodEvents
2021-02-28 18:30:06 +01:00
Bart Sopers c93705e88f Add retry for connecting to Pod 2021-02-28 18:22:56 +01:00
Bart Sopers 256cfe077d Replace single booleans for alerts with EnumSet of AlertType and introduce sealed class AlertTrigger 2021-02-28 18:20:17 +01:00
Bart Sopers 5c8ba98682 Remove TODO 2021-02-28 15:30:12 +01:00
Bart Sopers aa14843d33 Address review findings 2021-02-28 15:18:10 +01:00
AdrianLxM 76756fabaa a bit more readable 2021-02-28 14:18:17 +01:00
AdrianLxM 6dce871ed4 fix database 2021-02-28 03:55:01 +01:00
AdrianLxM 2d0d38f70f database integration test working 2021-02-28 03:30:13 +01:00
Bart Sopers 634b9c20e7 Add interceptors for PodEvents and errors 2021-02-28 00:42:32 +01:00
Bart Sopers 8d629977ec Improvement 2021-02-27 23:52:06 +01:00
AdrianLxM 86d965a7f1 initial history database 2021-02-27 23:50:51 +01:00
Bart Sopers 7e5667705d Minor improvement 2021-02-27 23:46:57 +01:00
Bart Sopers d08a979da3 Make OmnipodDashManager.connect() return an Observable of PodEvents 2021-02-27 23:21:09 +01:00
Andrei Vereha 5ca622a923 Merge branch 'dash-bart-random' into ble-message 2021-02-27 18:45:01 +01:00
Andrei Vereha 899a3d4213 Merge branch 'dash-bart-random' into ble-message 2021-02-27 18:35:14 +01:00
Bart Sopers dcf7672a24 More cleanup after conversion 2021-02-27 00:39:55 +01:00
Bart Sopers ba65a47380 Merge branch 'dash-bart-random' into adrian/something 2021-02-26 22:12:39 +01:00
Bart Sopers 0a013b6d2b Serializable instead of Any for data in PodEvent 2021-02-26 22:10:25 +01:00
AdrianLxM ae30387a25 cleanups 2021-02-26 21:45:17 +01:00
Andrei Vereha fb7a84bdf7 ble: add meaninful constants in the PayloadSplitter and getPodId 2021-02-26 21:30:29 +01:00
Andrei Vereha 358748654e ble: reformat(Ctrl+Alt+L) 2021-02-26 18:30:59 +01:00
Bart Sopers dbff1c6e50 Add Profile to BasalProgram mapper function, add some preliminary code in OmnipodDashManagerImpl 2021-02-26 17:38:45 +01:00
Andrei Vereha 9170cc6f76 move the test code to "connect"
this is wrong, for now I just need an easy way to test the initial handshake
2021-02-26 17:06:03 +01:00