ukhsa-collaboration / covid-19-app-android-ag-public

COVID19 Android app
Other
142 stars 31 forks source link

Deprecated/missing(?) methods being used on ExposureNotificationClient #7

Closed t-chappell closed 3 years ago

t-chappell commented 4 years ago

https://github.com/nhsx/covid-19-app-android-ag-public/blob/01f790a0ebefe20ba6ff7925e56dfd88911741bf/app/src/main/java/uk/nhs/nhsx/covid19/android/app/exposure/GoogleExposureNotificationApi.kt#L42-L60

Looking at google's API docs, use of some methods don't seem right, unless the implementation is from an earlier version:

1) exposureNotificationClient.temporaryExposureKeyHistory - Doesn't exist / typo ? getTemporaryExposureKeyHistory 2) exposureNotificationClient.provideDiagnosisKeys - This particular overload is deprecated 3) exposureNotificationClient.getExposureInformation - Deprecated, docs say to use different API 4) exposureNotificationClient.getExposureSummary - Deprecated, docs say to use different API

nhs-covid19 commented 3 years ago

Thanks for your interest in the NHS Covid-19 project. There are a few factors in play here. Firstly, a "get" method in java can be accessed as a property in kotlin - so exposureNotificationClient.temporaryExposureKeyHistory in Kotlin, will invoke the getTemporaryExposureKeyHistory method. The best way to see this would be to open the code in Android Studio, which will highlight any syntax errors, or invalid method calls. As you can imagine, the Exposure Notification API is evolving rapidly, and as such the documentation on the web sites may document the latest version of the code, which isn't available yet in Google Play Services, or iOS, or the newer versions of the API may introduce features or interfaces that we need to verify work correctly together with our application. Testing a new version of an API, and our interactions with it, does take some time, and so we won't necessarily update to a new API version as soon as it becomes available.