Commit graph

268 commits

Author SHA1 Message Date
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