corona-warn-app / cwa-website

Corona-Warn-App website. The CWA development ended on May 31, 2023. You still can warn other users until April 30, 2023. More information:
https://coronawarn.app/en/faq/#ramp_down
Apache License 2.0
522 stars 225 forks source link

FAQ: Google ENS incompatible with Android 5.0 (API 21) given as outdated reason for non-support in CWA #639

Closed MikeMcC399 closed 1 year ago

MikeMcC399 commented 3 years ago

Where to find the issue

[Google/Android]: Why are Android 6 and Google Play Services minimum requirements? https://www.coronawarn.app/en/faq/#googleplay

[Google/Android]: Warum sind Android 6 und Google Play-Dienste Mindestvoraussetzungen? https://www.coronawarn.app/de/faq/#googleplay

Describe the issue

FAQ article [Google/Android]: Why are Android 6 and Google Play Services minimum requirements?

"Google delivers the required Exposure Notification API for contact tracing apps with Google Play Services. The API is supported starting with Android API level 23. This version is available starting with Android version 6.0, see Codenames, Tags, and Build Numbers. This was decided solely by Google. In addition, older devices sometimes don’t support Bluetooth Low Energy. We as app developers, unfortunately, cannot influence this."

The above statement about the dependency on the Google Exposure Notifications System does not correspond to the current information in https://developers.google.com/android/exposure-notifications/exposure-notifications-api#architecture which says:

"For your app to work on all devices, set your minSdkVersion to version 6.0 (API level 23) or higher. The framework works on some devices as low as version 5.0 (API level 21), so using this version is an option to increase the number of devices eligible. If you decide to set the minSdkVersion to API level 21, you should test your app on the most popular Android 5.0 devices in your country to ensure that your app works as intended. ... (Last updated 2021-02-05 UTC)"

In the history of the Google Exposure Notifications System it seems that Google changed the minimum API level from 23 to 21, so the statement in the FAQ was probably true at the time of writing, but it is no longer true.

The specification of the Google Exposure Notifications System is no longer a justification for CWA not supporting Android 5.0 (API 21) or Android 5.1 (API 22).

Suggested change

CWA development should give an updated status on what prevents CWA supporting Android 5.x.

Alternatively, if there are any new plans for being able to support Android 5.x in future, these should be stated.

MikeJayDee commented 3 years ago

ENF for Android was initially (pre-final release) described as working with API version 21 (Android 5.0), but this was changed to API 23 (Android 6.0); there were reports that Apps would work when set to target API version 21. The issue is still open in Google's ENF repository:

https://github.com/google/exposure-notifications-android/issues/16

It seems they have clarified this now. Would be great to support Android 5 and 5.1. Together with iOS 12.5, this should then cover virtually all stock Android and iPhone devices still in use.

Should this maybe not be an issue for the Android app rather than CWA website?

MikeMcC399 commented 3 years ago

@MikeJayDee

Should this maybe not be an issue for the Android app rather than CWA website?

It's at least an issue for the FAQ website, because the website says that the app can't support Android 5.0 because Google doesn't support it, which is no longer true.

There are other discussions about the actual support, rather than the documentation of minimum version supported:

Most of the above issues were closed due to the information state available at the time of discussion.

In any case it would be invaluable to get development feedback about the feasibility and possible plans to support Android 5.0 (Lollipop) and Android 5.1 (Marshmallow).

thomasaugsten commented 3 years ago

We still investigate the numbers of Android 5 which has the Bluetooth LE advertisement capability and where sold in Germany. From the information of Google this where only a few devices. The next step is a possibility to test this device and filter out non working Android 5 devices on App level.

MikeMcC399 commented 3 years ago

@thomasaugsten

Has there been any progress made on this issue?

The FAQ https://www.coronawarn.app/en/faq/#googleplay continues to claim that CWA cannot support Android 5 because the Google Exposure Notifications System API does not support it, even though this is no longer a true statement.

MikeMcC399 commented 3 years ago

The text in

[Google/Android]: Why are Android 6 and Google Play Services minimum requirements? https://www.coronawarn.app/en/faq/#googleplay

continues to state that Google ENS only supports Android 6 and later. This was true at one time, but the position of Google has changed - see https://developers.google.com/android/exposure-notifications/exposure-notifications-api#architecture.

Google's list of Publicly-available Exposure Notifications apps links to Poland's STOP COVID - ProteGO Safe which states "Requires Android 5.0 and up". This is the only app I found out of 26 apps in Europe which support Android 5. All others have a minimum of Android 6.

dsarkar commented 3 years ago

@MikeMcC399 Yes, we have to change the text. I will check later if there are plans regarding supporting 5.0. Thanks for the reminder.

MikeMcC399 commented 3 years ago

@dsarkar What is the current state of the plans for Android 5.0 support? (Also asked in https://github.com/corona-warn-app/cwa-app-android/issues/1799.)

In any case the FAQ article needs to be changed due to its inaccuracy.

MikeMcC399 commented 3 years ago

@dsarkar You wrote some months ago:

Yes, we have to change the text. I will check later if there are plans regarding supporting 5.0. Thanks for the reminder.

however there has been no change since then to the text about Android version 5.0:

[Google/Android]: Why are Android 6 and Google Play Services minimum requirements? https://www.coronawarn.app/en/faq/#googleplay

[Google/Android]: Warum sind Android 6 und Google Play-Dienste Mindestvoraussetzungen? https://www.coronawarn.app/de/faq/#googleplay

I don't think that the community can write the text changes because it depends on the internal Open Source Team discussions which are not public knowledge. We could only guess at what you might have been thinking and are now thinking, but we don't know.

MikeMcC399 commented 3 years ago

@dsarkar According to @fynngodau the Android app would run on Android 5 (API 21) (see https://github.com/corona-warn-app/cwa-app-android/issues/1799#issuecomment-841829777). I don't have a physical Android 5 device, however I did try building it with minSdkVersion 21 and then running it on an Android 5 emulator. It did run, but I could not do full tests that way.

In any case the FAQ article https://www.coronawarn.app/en/faq/#googleplay needs to be updated. The Open Source Team should provide a plausible text for this FAQ.

It currently says:

"Google delivers the required Exposure Notification API for contact tracing apps with Google Play Services. The API is supported starting with Android API level 23. This version is available starting with Android version 6.0, see Codenames, Tags, and Build Numbers. This was decided solely by Google. In addition, older devices sometimes don’t support Bluetooth Low Energy. We as app developers, unfortunately, cannot influence this."