Releases: covid19database/phone-app
Fix crash in iOS + update icon
Fix crash in iOS (e-mission/e-mission-transition-notify#27)
Update icons to look less scary
Finally remove iOS WKWebView references + BLE for iOS as well
Release notes
- Upgrade plugins that have references to UIWebView as well, found by grepping through the binary. Now we no longer get the "Deprecated API Usage" warning
- Add BLE PoC for iOS as well
- Modify both plugins to be consistent with the underlying library interface
BLE inconsistencies
- cross-platform advertise/scan doesn't seem to work. As you can see from the screenshots below, android <-> android works, and iOS <-> iOS works, but android <-> iOS does not appear to work
- the iOS versions seem to pick up a couple of tokens that nobody broadcast (
eq3j...
and909fb...
). Both the iOS phones pick them up, so I don't think it is a spurious signal. I wonder if these are the android tokens, but garbled in some way. - however, the android phones clearly don't see iOS
@tzachari we should probably pull the most recent versions of the android library and re-test and report to the covid-watch group if we find more consistent errors.
OS | Phone 1 | Phone 2 |
---|---|---|
android | ||
iOS |
Latest versions of ios and android + BLE on android
Release notes:
- upgrade
cordova-ios
to 5.1.1 andcordova-android
to 8.1.0cordova-ios
upgrade was needed to support WKWebView to pass app store reviewcordova-android
upgrade was needed to support the BLE plugin, written in kotlin
- support in-memory scanning of BLE on android by wrapping libcontacttracing https://github.com/covid19risk/covidwatch-android/tree/libcontacttracing in a plugin and creating a new tab for it. @tzachari did most of the initial work on this feature
Description | phone 1 | phone 2 |
---|---|---|
Started advertising | ||
Received scans |
Installing:
- on Android: use the
.apk
below - on iOS:
- in the emulator: unzip the
.app
below and drag it into the emulator - on a real device: ask me for a TestFlight invite
- in the emulator: unzip the
Testing:
- For location tracking tests, use the location spoofing feature of the emulator as described earlier (https://github.com/covid19database/phone-app/releases/tag/v0.0.3)
- For testing BLE, you will need to use physical devices.
- Place two devices in proximity to each other
- Click on "Scan" start and "Advertise" start on both of them
- Refresh periodically to see the CENs show up
Initial version with all the location-only changes
This is the initial version of all the location-only fixes. I believe that this is a functionally complete version that has no serious bugs and does not push data to the server.
Bug fixes + new features:
- adds a page describing the permissions we need, why we need it, and how to respond to the prompt ()
- fixes the issue with the "Please login to continue server communication" prompt by setting a hardcoded account ("N/A") (b65982a)
- fix a subtle bug in the transition notification plugin for iOS found during testing (e-mission/e-mission-transition-notify#18)
- ensure that all resources (map tiles, etc) are loaded over https, and enable the whitelist plugin to ensure that they are not blocked
- simplify the diary loading to not contact the server since we know it will fail (e6e7feb)
iOS | iOS | android | android |
---|---|---|---|
Installing:
- on Android: use the
.apk
below - on iOS:
- in the emulator: unzip the
.app
below and drag it into the emulator - on a real device: ask me for a TestFlight invite
- in the emulator: unzip the
Testing:
It is hard to test this on real devices since most of us are not leaving the house. Even if we leave for short walks around the block, the battery efficient geofencing will not trigger an exit, and no tracking will happen.
Therefore the easiest way to test at this time is to use the location spoofing feature of the emulator.
- on iOS, use the Features -> Location option
- on android, you can upload a GPX trace for playback.
- I have attached a GPX trace from Mountain View to San Francisco mapstogpx20200404_033149.gpx.gz
- You can also generate other traces at https://mapstogpx.com/
- Make sure to use the Exact points (track route) option to get sufficient density for the resulting maps to be interesting.
Note that location simulation in the emulators can be pretty flaky.
- On iOS, I frequently have to use the "Custom Location" option to reset the internal location manager.
- On Android, the emulator sometimes generates points in the future, which e-mission duly filters out as invalid.
- You can see what is going on by using the "Settings -> Developer Zone -> Check Log" feature.
- When broken, reset and restart the emulator until it works or use the internet for help.
TODO:
- Switch to WKWebView on iOS (hopefully simple fix)
- I had to disable the trip end notifications/confirmation because of subtle bugs on both android and iOS
e-mission/e-mission-transition-notify#25 Will return to this after higher priority items are fixed
Add iOS support
Add iOS support to the stripped down version.
This is on [email protected], but still on UIWebView
Next steps:
- integrate @ericafenyo's fix for a config option related to manual sync (which should stop the crash on trip end)
- switch to WKWebView
- maybe make some UI changes