corona-warn-app / cwa-app-android

Native Android app using the Apple/Google exposure notification API. The CWA development ends 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
2.44k stars 495 forks source link

Exposure Logging is in false "active" state when Location is turned off #881

Closed kbobrowski closed 4 years ago

kbobrowski commented 4 years ago

Describe the bug

After switching off Location app still displays that Exposure Logging is active, when in fact it is not. There is a notification displayed from Play Services to turn Location back on, but it can be dismissed (even accidentally, by dismissing all notifications), and user stays in a state with exposure logging not working, false "active" status displayed in the app, and no clue how to turn it back on.

Expected behaviour

App should always display correctly whether exposure logging is active, and guide user to turn Location back on if this is the reason for exposure logging not working. This is already handled correctly for the case when Bluetooth is off.

Steps to reproduce the issue

  1. download the app
  2. agree to exposure logging
  3. turn location off
  4. dismiss all notifications
  5. check if you are in a false state of "active" exposure logging with no clue how to turn it back on

Technical details

Android 10

Possible Fix

I'd suggest to take a look how Immuni app from Italy handles this. If using "Location" word is not desired here app can simply display "Service inactive", and a button to activate it which brings up "Turn on COVID-19 Exposure Notifications?" prompt again and leaves it up to Exposure Notifications framework to handle turning on all required services.


Internal Tracking ID: EXPOSUREAPP-1618

JonahKr commented 4 years ago

Same here. Why is GPS needed anyway? Or is only just the service api needed?

kbobrowski commented 4 years ago

GPS is not needed and is not used by the app, "Location" needs to be on in order for Bluetooth Low Energy to work. It is connected a bit to the history of using BLE on devices, it used to be designed for locating users using stationary BLE beacons in various places (shops / venues etc.), it's used in completely different way by Corona Warn App (for exposure notifications), and there is no location information gathered at all, but this "Location" setting still needs to be switched on.

JProof commented 4 years ago

Android-Version 6.0.1 My GPS is disabled but the cwa displays "Risiko-Ermittlung Aktiv"

Off Topic: In general I have deactivated the location function. I don't want "anyone" to know my location.

As it is described in the CWA, the CWA does not transmit the location. However, other apps will transmit the location as long as I have activated the GPS function.

Google needs to improve this and provide a whitelist option "Enable location service only for CWA".

uschindler commented 4 years ago

Google needs to improve this and provide a whitelist option "Enable location service only for CWA".

The issue here is that the Corona Warn App does not need location permission at all (and it does not request it). The issue is that Google Play Services only need it (and it has already).

What confuses people it that location services (not necessarily GPS, you can disable that easily by changing it to "lower precision" in the device settings) need to be enabled! The background was explained by @kbobrowski very good. It's related to history of Android.

The funny detail: Google broke it for privacy reasons in the past and now its affected by its own restrictions. Background: When Google Play Services is scanning for BLE bacons it only gets back a static "fake beacon" from the lower level of the Android operating system if location services are disabled. To fix this we have to wait for a later version of the Android OS. The current workaround as deployed by Google unfortunately needs location services enabled. It's a bit of crazy but unfixable for the shitload of devices out there.

JProof commented 4 years ago

@uschindler Thank you very much for your answer.

as @kbobrowski writes: " Location off, no function".

That the CWA doesn't need this positioning was already known weeks ago and I don't think anyone doubts that!

To put it simply, you would first have to ban location determination completely from practically all other apps... before you can switch on the required (non-)location determination for the CWA. Without making location data available to other unwanted apps.

Vielen Dank für deine Antwort.

wie @kbobrowski sinngemäß schreibt: "Standortbestimmung aus, keine Funktion".

Das die CWA diese Standortbestimmung nicht benötigt hat sich bereits vor Wochen herumgesprochen und ich glaube, das bezweifelt auch niemand!

Einfach gesagt, müsste man praktisch erst allen anderen Apps die Standortermittlung vollständig verbieten.. bevor man die benötigte (nicht)-Standortbestimmung für die CWA anschalten kann. Ohne eben Standordaten weiteren ungewünschten Apps zur Verfügung stellt.

KaiRoesner commented 4 years ago

Same here with Android 9. Requiring location service to be switched on will be a no-go for many people. Switching it on and then having to tweak device settings so it doesn't get used by other apps is too complicated for getting high adoption. This should really be addressed with high prio!

aurisnoctis commented 4 years ago

I have the same issue as @kbobrowski with Android 6.0.1 (stock Android on Samsung S5):

Expected: When I manually turn off location in the Android settings (balloon icon in settings shortcut) I should be warned in the app that contract tracing is now inactive because location is needed for low energy bluetooth scanning to detect other smartphones with the app installed.

Settings in Android 6.0.1 The Android settings offer me a menu "location" where I can choose to allow WiFi scans and/or Bluetooth scans to improve location accuracy. When I turn location off, this menu is greyed out and I assume that BLE (low energy bluetooth) is off and that the Corona-Warn-App is then useless. To a user not inspecting every menu this is not evident. As location (as in lon/lat) is not needed by the app, many users will turn location off after successful installation and will not be warned by the app that this hinders the app to work correctly.

Trivia Both times when I asked the official Corona-Warn-App hotline (in German) why there is no warning in Android 6 when I turn off location (I usually turn it off almost automatically when I'm not navigating somewhere) I was told that location is "only needed if I want to send my location to the app to help locate Covid-19 outbreaks in Germany". If I understand the app right this is very wrong.

kbobrowski commented 4 years ago

@aurisnoctis that's surprising that you get such information from hotline, I can confirm by listening to Bluetooth traffic that app is not doing any contact tracing with Location off.

aurisnoctis commented 4 years ago

Question (same as corona-warn-app/cwa-app-android#561):

Will the Corona-Warn-App work correctly after then user grants all permissions during installation but then turns location (balloon in the status bar) off?

Independent check for beacon detection: In corona-warn-app/cwa-app-android#518 this app was mentioned to check beacon visibility: https://play.google.com/store/apps/details?id=com.davidgyoungtech.beaconscanner&hl=de

I installed it. Bluetooth was already switched on. The app asked for access to location via Android popup which I granted. In contrast to the Corona-Warn-App, this did not activate the location icon (balloon) in the Android settings in the status bar automatically. The app detected a couple of beacons of type "Exposure Notification", which is reassuring. When I switch off bluetooth, the app stops scanning as expected.

aurisnoctis commented 4 years ago

@aurisnoctis that's surprising that you get such information from hotline, I can confirm by listening to Bluetooth traffic that app is not doing any contact tracing with Location off.

@kbobrowski OK, by "location off" you mean "ballon icon that user sees in status bar off", correct?

If that's the case - interesting that the beacon app above sees other beacons without the location balloon icon in the status bar on ...

Edit: To be clear, in any case there should be a fix, see https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-645016601. If the location ("balloon") has to be active, the app should not show "Risikoermittlung aktiv" when the location balloon is turned off.

babymotte commented 4 years ago

Same here. After disabling "Use location" in the Android settings, I get a notification saying "Exposure Notifications are off. To use this feature, turn on location", however the CWA says "EXPOSURE LOGGING ACTIVE" in its home screen, suggesting that the app is working as expected.

When entering the CWA's settings menu, it also falsely claims that exposure logging is active.

From what I've gathered so far that is NOT correct and the CWA does NOT work as expected in this state.

When I disable bluetooth, the CWA stops displaying "EXPOSURE LOGGING ACTIVE" and says "BLUETOOTH TURNED OFF" instead. While this also doesn't clearly tell the user that the App is not working as expected, at least it does not give the false impression that everything is OK. The CWA's settings menu now correctly informs the user that exposure logging does currently not work.

In both cases (bluetooth disabled and location disabled) I would expect a VERY prominent warning in the CWA's home screen telling the user that exposure logging, despite being switched on in the settings, does currently NOT WORK.

uschindler commented 4 years ago

I can confirm for everybody: this bug is real. If you turn of Location Services the app no longer works:

I can share a video with the two devices next to each other if needed.

aurisnoctis commented 4 years ago

@uschindler Does it make a difference whether you have bluetooth scanning turned on or off in location settings? i.e. does "location on" but "bluetooth scanning in location off" hinder the app from working? Sorry I cannot test - only one device here.

cannothing commented 4 years ago
What does this mean, the Spiegel article does not help ...

Can I savely ignore that message and the app still works as expected?

Here's an article by Spiegel summarising. I think that's very good to know and could be linked in the FAQs potentially to give an independent position and assuage concerns.
https://www.spiegel.de/netzwelt/apps/corona-warn-app-wieso-muessen-android-nutzer-den-standortzugriff-aktivieren-a-7f372aea-25e9-49f7-9ae3-9568cf526c04

This article do not help. This article repeat what the developer are saying. The app do not use Standortinformationen. The issue is,, which is not clarified by this article, I have to allow google to use Standortinformationen, if I activate two of three possible settings. The third option is GPS. Google is not allowed to use this informations, but this need much more energy. In a pragmatic view, you have to allow google to use Standortinformation, to use the app, because you don't want run out off energy.

I made a screenvideo trying to avoid GPS. No way, if I refuse to transmit information to google.

Phone is a S7 with Android 8.

My problem and the problem of corona-warn-app/cwa-backlog#17 (comment) have to be clarified.

Works the app with switched off Standort
If I have to switch on Standortermittlung,

what data gets google
how to save energy because of running gps, to avoid transmission of data to google.

There is a third issue, is cwa working, if I am using energysaving of my phone or using energysaving apps.

I have got answers, which where not useful for an average user.

Und deswegen auf Deutsch weiter.

Ein Vorschlag für die FAQ.

Muss ich die Standortfunktion aktiviert haben. Ja/Nein

Wenn ich die Standortfunktion aktiviere, werden Daten an Google übertragen. Ja/Nein/Herumgeeiere, dass es nur anonymisierte sind

Wenn ich die Standortfuntion aktiviere, erhöht sich mein Energieverbauch durch die Aktivität des GPS-Sensors Ja/Nein

Muss ich meine Energiesparfunktion/App abschalten Ja/Nein/Kommt darauf an

aurisnoctis commented 4 years ago

@uschindler In addition to https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-645248703:

Does it make a difference which location mode is used:

babymotte commented 4 years ago

@cannothing

ENG: Your questions, while relevant, are off topic in this issue. This issue is specifically about a bug where the app claims it's working fine while it's actually not.

DE: Deine Fragen sind zwar relevant, aber in diesem issue off topic. Hier geht es ganz konkret um einen Bug, der dazu führt, dass die App sagt, dass alles in Ordnung ist, obwohl sie gerade eigentlich nicht funktioniert.

babymotte commented 4 years ago

@cannothing

ENG: Ah, sorry for addressing this to you, I hadn't realized you were pointed to this issue by a developer.

DE: Ah, sorry, dass ich das direkt an dich gerichtet habe, ich hatte nich gesehen, dass dich einer der Entwickler an dieses issue verwiesen hat.

@tkowark this issue is about a very specific bug. I don't think it's a good idea to repurpose it for general discussion about things that should be added to the FAQ.

kbobrowski commented 4 years ago

@aurisnoctis I think you cannot trust that "balloon icon" in status bar which indicates if Location is on, I find it to be somehow inconsistent at least on Android 6. On Android 10 I don't have this icon at all. Good source of truth on whether Location is on is in settings, or if you swipe down this status bar to access quick settings.

@babymotte bug label is still there, so I think it will be fixed, but does not harm if it goes into FAQ as well

JeWe94 commented 4 years ago

I would also like to point out that this seems to bee a really urgent issue. You can already see some people on social media turning off Bluetooth or Location since the Corona-Warn-App seems to be working either way (and since it was - correctly - said that the App won't use GPS). It would be great if the App (and the Exposure Notification API) could work without having to turn on Location, though it's understandable if this isn't feasable. But the user has to get notified if the tracing won't work anymore. There are also some notifications by the system, but they can easily be ignored or read over.

btreut commented 4 years ago

I can confirm the bug CWA saying "RISIKO-ERMITTLUNG AKTIV" together with the dismissible notifier "Benachrichtigungen ... aktiviere die Standortermittlung" for a Samsung GalaxyS7 SM-G930F running Android 8.0.0 when location services is off.

pfille commented 4 years ago

@aurisnoctis in response to:

Does it make a difference which location mode is used:

* high accuracy (GPS, WiFi, mobile networks)

* energy saving (WiFi, mobile networks)

* only GPS
  ?

I followed the approach of @uschindler and tested using the BeaconScope app (https://play.google.com/store/apps/details?id=com.davidgyoungtech.beaconscanner) on a second device and with the CWA (ver. 1.0.2) installed on a Motorola E2 with Android 6.0. The BeaconScope detected the CWA beacon in each of the three modes mentioned above. Hence, there is no risk to enable the Location (baloon icon) in the wrong mode. Bottomline: Location is turned on -> CWA works, Location off -> CWA might seem to work, when in reality it isn't.

Does it make a difference whether you have bluetooth scanning turned on or off in location settings? i.e. does "location on" but "bluetooth scanning in location off" hinder the app from working? Sorry I cannot test - only one device here.

I also tested for the dependency on the bluetooth scanning option and couldn't find anything. CWA seems not to be affected by this option in either way.

In addition I checked, if CWA still works without an internet connection and it does. However, then in the app I get the status "Keine Internetverbindung", which is confusing as the tracing still works. Okay, in this case there is no notification.

As an overview: connected to internet, bluetooth on, location on -> CWA status: "Risiko-Ermittlung Aktiv" and no notification. -> BeaconScope detects CWA beacon. no internet connection, bluetooth on, location on -> CWA status: "Keine Internetverbindung" and no notification. -> BeaconScope detects CWA beacon. connected to internet, bluetooth off, location on -> CWA status: "Bluetooth Deaktiviert" and additional notification warning that tracing is not active. -> BeaconScope does not detect CWA beacon. connected to internet, bluetooth on, location off -> CWA status: "Risiko-Ermittlung Aktiv" and additional notification warning that tracing is not active. -> BeaconScope does not detect CWA beacon.

I also think the situation with the status in CWA and the notifications is quite confusing and needs to be fixed.

babymotte commented 4 years ago

no internet connection, bluetooth on, location on -> CWA status: "Keine Internetverbindung" and no notification. -> BeaconScope detects CWA beacon

In addition to that I checked the app's settings menu while internet is off and there it says "Exposure Logging Restricted", which I find confusing.

Imagine the following scenario: By default you leave mobile data off because you rarely use it anyway. You take a walk and before you leave the house you turn off wifi to save battery. While walking you pass several other CWA users and your phone exchanges data with them via BLE. When you come back home you turn Wifi back on, CWA syncs with the servers and gives you appropriate warnings if one of the people you met have reported themselves as being infected.

Assuming that this is how the app would actually behave there is no restriction in the exposure logging functionally and as such the status shown in the settings menu when internet is off would also be wrong.

I've already talked to several people who were convinced that internet/mobile data must be on all the time for the app to work correctly, so I would consider that another bug.

kbobrowski commented 4 years ago

@babymotte you are right, the fact that app is in "restricted" state with internet off is another bug, and there is already a separate issue for this here: corona-warn-app/cwa-documentation#262 (it went into documentation repo since apparently it affects also iOS) it has been moved again to corona-warn-app/cwa-backlog#1

babymotte commented 4 years ago

Ah! Makes sense, I wasn't aware of that. Thanks for pointing it out!

cannothing commented 4 years ago

Yes. If I choose

I have to allow google to fetch informations of my phone, called „Anonymisierte Standortdaten.“ If I do not agree I can only use with GPS. There ist he question, what means this fort he energy.

Von: aurisnoctis notifications@github.com Gesendet: Mittwoch, 17. Juni 2020 14:15 An: corona-warn-app/cwa-app-android cwa-app-android@noreply.github.com Cc: cannothing ich@stephan-zitzmann.de; Comment comment@noreply.github.com Betreff: Re: [corona-warn-app/cwa-app-android] Exposure Logging is in false "active" state when Location is turned off (#491)

@uschindler https://github.com/uschindler In addition to corona-warn-app/cwa-app-android#491 (comment) https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-645248703 :

Does it make a difference which location mode is used:

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-645337366 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACBCJRRCN44TDDVSVVOD2FDRXCXUBANCNFSM4N7KURSA .

corneliusroemer commented 4 years ago

Here are screenshots so that everyone knows how bad this bug is. Within the app it says tracing is active. But it's not.

True, there's a notification, but there's a clash between app status and notification - and this should never happen. Needs to be priorities and fixed asap. Imho this is one of the top 3 issues right now, together with: corona-warn-app/cwa-app-android#478 and https://github.com/corona-warn-app/cwa-documentation/issues/262

Photo on 18-06-2020 at 14 39 corona-warn-app/cwa-app-android#2 Photo on 18-06-2020 at 14 39 Photo on 18-06-2020 at 14 38

aurisnoctis commented 4 years ago

On Android 6.0.1 (stock Android on a Samsung S5) I don't get a COVID-19 exposure notification (the one visible on the third image in https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-645992995 at the top of Other notifications saying 'Exposure notifications are off').

So it's even worse: no chance to know the app is useless in that state, neither from the CWA nor from the Android OS.

aurisnoctis commented 4 years ago

@cannothing

Yes. If I choose

  • high accuracy (GPS, WiFi, mobile networks)
  • energy saving (WiFi, mobile networks I have to allow google to fetch informations of my phone, called „Anonymisierte Standortdaten.“ If I do not agree I can only use with GPS. There ist he question, what means this fort he energy.

Use only GPS as location mode and disagree about improving location accuracy if Android asks. According to the test by https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-645524218 CWA works with only GPS as location mode (plus Bluetooth on of course).

GPS itself doesn't eat so much battery. Often it's the display that's on for long times when people are using GPS to navigate, or it's the software they use for navigating. It's described in many tech articles online. I made the same experience: simply GPS on isn't draining my battery fast, navigating is.

corneliusroemer commented 4 years ago

Dear maintainers, @aurisnoctis recent comment https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-646091596 further makes the severity of this issue clear. What are the plans re fixing? It can't be too time consuming to implement. It's merely changing a custom notification to fire differently. At least this is how it looks to me. Prove me wrong if I am.

Why is this issue not yet "in Review"? @SebastianWolf-SAP @tkowark @jakobmoellersap @mynchau

btreut commented 4 years ago

@cannothing Use only GPS as location mode and disagree about improving location accuracy if Android asks. According to the test by #491 (comment) CWA works with only GPS as location mode (plus Bluetooth on of course).

GPS itself doesn't eat so much battery. Often it's the display that's on for long times when people are using GPS to navigate, or it's the software they use for navigating. It's described in many tech articles online. I made the same experience: simply GPS on isn't draining my battery fast, navigating is.

thanks for the hint.

Am I right that this mode is funnily called in German: Suchmethode Nur Telefon

BTW: CWA appears to count its active time according to its false "active" state.

cypheron commented 4 years ago

This is most likely a flaw in the Google Exposure API's exposureNotificationClient.isEnabled() call which we normal devs cannot check...

There's a way to fix it though: We know by know that GPS is required for the App to work (otherwise invalid BLE beacons are sent). The most robust way to check for that is via isProviderEnabled, i.e. <LocationManager>.isProviderEnabled(LocationManager.GPS_PROVIDER) which does not need location permission at all from Android 5.0 onward. It's trivial to implement the GPS availability check in CWA ConnectivityHelper.kt and add it as an additional check next to Bluetooth and Network availability for status check.

This BUG should be addressed aSAP by SAP. I'm very surprised that it's on the last page of issues and is completely being ignored. Not a good look.

aurisnoctis commented 4 years ago

@btreut

Am I right that this mode is funnily called in German: Suchmethode Nur Telefon

On my German Android version 6.0.1 it is: Android Einstellungen > Standort > Modus > Nur GPS.

Note that according to https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-645524218 you could also choose: Android Einstellungen > Standort > Modus > Hohe Genauigkeit or Energiesparmodus It doesn't seem to matter which kind of location you specify. Some prefer Nur GPS, some prefer the other modes. They all seems to be OK for the app to have access to the necessary Bluetooth Low Energy (BLE).

The other location-related setting in German Android 6.0.1 is: Android Einstellungen > Standort > Genauigkeit verbessern > WLAN-Scan or Bluetooth-Scanning According to https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-645524218 neither of those have to be active.

So one valid configuration could be: Location (GPS only) + Bluetooth active (+ internet connection, see also https://github.com/corona-warn-app/cwa-backlog/issues/1)

aurisnoctis commented 4 years ago

Update on impact from personal experience: App users recommend to other app users (including to me) to switch off location after installation of CWA is complete, saying "As long as the app doesn't complain you are fine."

On my Samsung S5 stock Android 6.0.1 this is obviously a wrong statement. Turning location off renders the app useless and there is no warning at all from either CWA or Android OS to make the user aware of that.

kbobrowski commented 4 years ago

This is most likely a flaw in the Google Exposure API's exposureNotificationClient.isEnabled() call which we normal devs cannot check...

@cypheron it's possible to find it on the Java heap (check out frida), can confirm that isEnabled() returns true when location is switched off, but I think this is a correct behavior - exposure notifications are enabled (whenever proper services are on it will work). It also returns true when Bluetooth is off. It's app responsibility to handle UI communication with the user what services user need to turn on.

Location (GPS only) + Bluetooth active (+ internet connection, see also corona-warn-app/cwa-backlog#1)

@aurisnoctis that's right, although unfortunately "GPS only" on Android 6 results in another confusing notification "GPS needs to be on and set to high accuracy". It does not need to be set to "high accuracy" for the app to work properly, but would be good to clearly communicate to the user if the app is working or not, so the user does not need to investigate it (and as you mentioned, to avoid spreading misinformation further)

location

cypheron commented 4 years ago

On my Android 10 Test Device I can find a panel for "Covid-19 Notification" in the settings (see screenshot below). This panel correctly displays whether the Exposure Notification are enabled and if so, which Applications make use of it. It is disabled as long as location is off (again, screenshot) and as soon as the user turns on location (GPS at minimum) the service becomes available. I'm very confused that App developers don't have to access this exact status!! It was my understanding that exposureNotificationClient.isEnabled() was meant to reflect this state, but apparently it IS NOT (otherwise we would see the correct status in CWA).

image

kbobrowski commented 4 years ago

isEnabled() is corresponding to the field below: "Turn off Exposure Notifications" - if this is displayed then it means that exposure notifications are enabled. It would be good indeed to have isActive(), which would corresponds to "This feature is off" field (if this is displayed this function would return false). But this missing isActive() is easy to infer from isEnabled(), Bluetooth and Location status. Right now CWA infers it from isEnabled(), Bluetooth and internet connectivity instead...

aurisnoctis commented 4 years ago
Documentation of this bug in stock Android 6.0.1 on Samsung S5
Model and Android version Phone model (Samsung S5) and Android version. location switched off Location is switched off in Android settings ... status bar ... as also visible in status bar. Note that beneath status bar there are no further notifications by either Android or CWA.
no warning At the same no warning is shown in CWA that location is off and has to be on screen shot 2017-08-07 at 12 18 15 pm - everything seems OK and working (without location switched on).

@cypheron I have found nothing related to "Covid-19 Notification" in my Android settings (Android too old?).

daimpi commented 4 years ago

@aurisnoctis For me (Galaxy S8, Android 9) this setting is located at Settings ->Google ->"Benachrichtigungen zu möglicher Begegnung mit COVID-19 Infizierten"

cypheron commented 4 years ago

@aurisnoctis You can also use the search bar in the settings, if you have one, and type "Covid" - it's the first entry.

@kbobrowski I'm completely with you on that. Created PR here: corona-warn-app/cwa-app-android#714.

aurisnoctis commented 4 years ago

@daimpi Thanks, found it as you described - in Android 6.0.1 Settings > Google. Then my Android Google account page is loaded automatically, where I find Benachrichtigungen zu möglicher Begegnung mit COVID-19 Infizierten at the top of the list of services.

In there I find that Corona-Warn is listed as app. When I stay on this screen (the same as https://user-images.githubusercontent.com/7348028/85289196-5194f780-b497-11ea-925e-f1a31581344a.png, but in German) I indeed see the warnings when either bluetooth or location is switched off. I can also see there that it doesn't matter which location mode I use (GPS only vs. energy saving etc.); location has to be on, no matter which mode. So far so reassuring that the Google COVID framework is doing fine on my phone. :+1:

I don't see any of these warnings in my status bar, however. I checked: the Google App as well as CWA are allowed to show notifications. But I get no notifications / warnings from either Android/Google or CWA when I switch location off (just when I switch bluetooth or internet off, the CWA app itself warns me).

So the situation is still the same: I can turn off location on my phone and judging from the appearance in the app and my Android status bar, everything seems fine (which it isn't as I would see going into some subsubmenu of settings).

Hope this can be fixed as e.g. explained in comment https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-647514251.

aurisnoctis commented 4 years ago

@cypheron

You can also use the search bar in the settings, if you have one, and type "Covid" - it's the first entry.

Nope, cannot be found by settings search. The user has to know it's in the Google settings menu, which loads some webview of my Google account related to Android. I have Android 6.0.1 on Samsung S5.

aurisnoctis commented 4 years ago

@cypheron https://github.com/corona-warn-app/cwa-app-android/pull/714 Thank you

aurisnoctis commented 4 years ago

In case others have the same issue: I found out why I did not get alerts by the Google COVID-19 Framework to turn bluetooth and location on:

On my phone notifications for Google Play Services had been turned off for other reasons not relevant here. After turning them on again, I get a cryptic barely readable message from the Google framework when location or bluetooth is switched off:
Google framework warning Barely readable Google COVID-19 framework on Android 6.0.1 warning that location services have to be switched on.

All the more we need the CWA to properly handle the warning about location services not switched on -- just as it is already done for bluetooth:

Google framework warning Exists only for bluetooth in CWA: proper warning to switch it on.

This is in support of pull request corona-warn-app/cwa-app-android#714.

cypheron commented 4 years ago

Just to stress the importance of this issue: Many of the recent 1-star rating on Google Play are due to this issue. Users start wondering that exposure hasn't been logged even though exposure logging was showing as enabled. As laid out in this issue it is very likely that location was turned off during that time.

IMHO, the longer this issue is ignored by SAP the more users will stop using the App.

aurisnoctis commented 4 years ago

Adding to comment https://github.com/corona-warn-app/cwa-app-android/issues/491#issuecomment-647760461:

1-on_int_loc_blue-warn_blue Internet, location, bluetooth on, but notification from Google COVID-19 framework that bluetooth is off. 2-Google_OK_warn_active Google settings show no warning (correct) but notification about missing bluetooth is still in status bar. 3-on_int_loc_blue-warn_loc Internet, location, bluetooth on, but notification from Google framework that location is off.
4-on_int_blue-warn_blue Internet, bluetooth on, but warning from Google framework that bluetooth is off. 5-on_int_loc-warn_loc Internet, location on, but warning from Google framework that location is off still in status bar. 6-setting_loc_OK-warn_loc Location settings show: location is switched on, but still warning from Google framework in status bar that location is off.
jakobmoellerdev commented 4 years ago

Just as a quick update from dev side here. We are fully aware of the limitations of the framework and we are currently working on a solution that is able to correctly tell the end user that the exposure logging is not working correctly if location services are restricted and thus lead to a state in which tracing cannot be guaranteed. We are in the process of identifying the best way to achieve this and think this needs to be handled with a concrete UX path and cannot be solved by a simple check that disables the tracing as proposed in PR corona-warn-app/cwa-app-android#714

Concretely we are investigating expanding our UX to provide a similar hint like in Bluetooth but nothing is set in stone yet and we will update here once we have more to share.

Edit: Referencing "disabling tracing" as the UI state, not as actually disabling tracing. Bad wording on my side here.

cypheron commented 4 years ago

@jakobmoellersap Thanks for the input! Small correction: PR corona-warn-app/cwa-app-android#714 does not disable tracing, it fixes the false active status of exposure logging (i.e. tracing showing 'enabled' when in fact it isn't active in exposure notifications API) when location is turned off, which is currently misleading a vast amount of users. "Concretely we are investigating expanding our UX to provide a similar hint like in Bluetooth" - Good, you got it, this is 100% what we want and need. Let's hope it doesn't take too long.

kbobrowski commented 4 years ago

@jakobmoellersap thanks for the update, regarding UX path I think Immuni app handles it really smoothly - regardless of whether Bluetooth or Location is disabled there is one button which triggers on-boarding to EN framework ("Turn on COVID-19 exposure notifications?" dialog), and this on-boarding process takes care of turning on all necessary services in a smooth way (just clicking through).

Alternatively, app can take user into more precise place in settings, right now when turning on Bluetooth I just end up in general settings, it's not a smooth process as I have to read through the settings to find "Bluetooth" section. Really like the way Bose app handles turning on all necessary services (between each screenshot there is only one click, and there is almost no search for proper toggle to flip):

bose

cypheron commented 4 years ago

@kbobrowski Thanks for sharing! Immuni App's dialogs also seems quite transparent. A sentence like "Apps using BLE are required to have location access enabled. Don't worry ...". is essential to prevent of confusion about permissions and gain a bit more trust in what the App is doing. Also like how the dialogs make up a page/fragment instead of little boxes (makes it less secretive).

tkowark commented 4 years ago

Sorry about the moving back and forth. This issue is already being worked on, so it should stay in the android repo.