minvws/nl-covid19-notification-app-android

2020-08-31: [VWS/Covid19NotificationApp] Unable to "Turn on" app

Closed this issue · 12 comments

### The Issue
After download and installation of the app, one needs to go through the wizard, accept and give permissions for data usage (eg. acceptance of the privacy statement), then Turn on the app by hitting the corresponding blue button. However I am unable to do so and receive an error:

TITLE: Google Play Services is still being updated
The app can only keep track of possible coronavirus exposure when Google Play Services is up to date. Try again later.

### To Reproduce
Error can be reproduced by starting the app and walk through the first run wizard. When I quit the app, terminate the processes, start the app again, I have to go through the wizard again, hitting the same problem again. Tried to re-install the app, reboot the phone, but I can't get it to work.

### Diagnostics
I've seen other topics thus included the output of adb logcat. I hit the turn on button 3 times, they should be recorded.
logcat.txt

I also checked the Google Play Store. Its certified and running the latest version I could update/find: 20.9.10-all [0] [PR] 319853039. I did try to stop/start the Google Play Store/Services as well as a full clean restart of the phone, but this did not help.

### Screenshots
Screenshot_2020-08-31-17-41-49-03_85ae5fe2168a82e1cc75b073dc94d198 Screenshot_2020-08-31-17-41-33-60

Smartphone:

  • Device: Realme X50 Pro 5G
  • OS: Android 10, security patch July 5, 2020
  • Realme UI: V1.0

Additional context

Still not sure what it is. First I thought it might be because of the more exotic brand for an Android phone. Bluetooth was turned on during all tests. I also tried to give the app every permission I could give for the test, however, when going to the App Management, it says 'No permissions requested' so I can't do that.

Battery optimizations should not be an issue as the whole battery optimization proces/apps are disabled.

Governance

Did you update Google Play Services in the same session? Even after updating Google Play Services it can take a while before all required components are available. I don't see anything obvious in the logs.

Nope I did not update Google Play Services in the same session. I even tried turning it off/on, and restarting the device. I went deeper in the issue and for a test, downloaded the German and the Swiss Corona Warn apps as well. Interestingly, these apps gave me more background info:

"This device does not support Exposure Notifications."
"17: API: Nearby.EXPOSURE_NOTIFICATION_API is not available on this device. ConnectionResult{statusCode=UNKNOWN_ERROR_CODE(39501), resolution=null, message=null}"

Several FAQs found on its respective sites say things like:

  • Restart your phone
  • Update to the latest Google Play services version
  • Enable Bluetooth
  • Enable Location Services
  • Check and turn on COVID19 Exposure Notifications in the Google App

Well I did all of them except for the last one: can't find this setting. Apparently it should automatically come within an update received from Google itself. Some users did receive the 'silent' update, whilst others did not.

I've come across this GitHub issue report with the same error I have when starting the German or Swiss Corona App.

Not sure what to do, but I will leave all 3 apps on my phone for now to see if Google downloads the silent update with the Exposure Notification feature.

If you have enabled developer mode you can check if the required module is installed using adb shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep 'nearby_en'

The error basically means this module is missing for some reason, usually because it's not installed yet, but sometimes because the phone model isn't supported. Unfortunately it's a pretty generic message.

If you are sure that your Google Play Services version is up to date (the current version of the app might not tell you that correctly due to #25 ), you can also try to clear the Google Play Service app data, this will request the installation of the nearby_en too. If it's missing you'll probably won't see the Covid-19 settings in the Google settings either. It can up to 30 minutes for the module to install.

So I did, and its output was:

RMX2071:/ $ dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep 'nearby_en'
.android.gms.chimera.container.GmsModuleProvider | grep 'nearby_en'           <
            com.google.android.gms.nearby_en [v203314000]

Both Google Play Services and Play Store were up to date according to Google Play Store. So what I did is I checked on apkmirror and found a more recent version. Force stopped both Google Play Store and Services, cleared cache, installed the latest version of both, restarted the phone. Checked that both services and Google Play Store were working correctly (I received a bunch of app updates). Then waited for a couple of hours and checked again, but have the same error with all the Corona apps. Still no Covid-19 settings in the Google app either.

The German Corona App gave some more details when I asked for it:
Cause:
com.google.android.gms.common.api.ApiException: 17: API: Nearby.EXPLOSURE_NOTIFICATION_API is not available on this device. Connection failed with: connectionResult{statusCode=UNKNOWN_ERROR_CODE(39501), resolution=null, message=null} at com.google.android.gms.common.api.internal.zah.zaa(com.google.android.gms:play-services-base@@17.3.0:13) at com.google.android.gms.common.api.internal.GoogleApiManager$zaa.zaa(com.google.android.gms:play-services-base@@17.3.0:115) at com.google.android.gms.common.api.internal.GoogleApiManager$zaa.zaa(com.google.android.gms:play-services-base@@17.3.0:77) at com.google.android.gms.common.api.internal.GoogleApiManager$zaa.onConnectionFailed(com.google.android.gms:play-services-base@@17.3.0:1) at com.google.android.gms.common.internal.BaseGmsClient$zzf.zza(com.google.android.gms:play-services-basement@@17.3.0:4) at com.google.android.gms.common.internal.BaseGmsClient$zza.zza(com.google.android.gms:play-services-basement@@17.3.0:7) at com.google.android.gms.common.internal........ and so on.

smiba commented

I'm having the same issue on my Xiaomi Mix 3 running Android 10 running MIUI 11.0.3 (China Stable)
Updated my play services to the latest version manually, but it was already running a recent version.

My phone is "rooted" though, @AirtjE any chance yours is too? I'm wondering if Google doesn't grant us access because they notice we're running a modified system.
gms is selected in Magisk with Magisk Hide and I pass SafetyNet. But I didn't always used to

I re-checked with adb and it all looks correct as far as I know, except for the last part:
com.google.android.gms.chimera.container.GmsModuleProvider

<...>
     Modules:
       com.google.android.gms.nearby [v203314000]
       com.google.android.gms.nearby__phone [v203314000]
       com.google.android.gms.nearby_en [v203314000]
<...>
     Features:
        nearby_exposure_notification [v3]
        nearby_exposure_notification_1p [v1]
        nearby_exposure_notification_diagnosis_keys_data_mapping [v1]
        nearby_exposure_notification_get_calibration_confidence [v1]
        nearby_exposure_notification_get_day_summaries [v1]
        nearby_exposure_notification_get_version [v1]
<...>
     Module Set Journal Entries:
      nearby:2033020045120400
      -----
      Last 10 status updates (Number, Description):
       1)  ConfigResolutionRejected
       2) ConfigResolutionAttempted
       3)  ConfigResolutionRejected
       4) ConfigResolutionAttempted
       5)   NoLongerOfferedByServer
       6)  ConfigResolutionRejected
       7) ConfigResolutionAttempted
       8)   NoLongerOfferedByServer
       9)  ConfigResolutionRejected
      10) ConfigResolutionAttempted
<...>

My phone is non-rooted. Original state, no changes except for disabling inwanted system apps using adb (of which none start with com.google or com.android, only start with com.oppo or com.realme). The issue, as mentioned before, are experienced on a Realme X50 Pro 5G running Android 10 with Realme UI 1.0 (RMX2071), which is an CN version, on a certified Google Play Store/Google Play Services.

Having the covid-19 settings visible in the Google section is an indicator whether this phone is supported by the Exposure Notification framework. I've asked for an update to understand why this phone wouldn't be supported and will update when I get a response on this.

Well the interesting part is...

  • I do have the necessary update for the Exposure Notifications installed.
  • Ever since that has happened I can see the Corona apps in the App Store with the red ENS sign.
  • I do not have the COVID-19 section visible in the Google settings.

Now I found another bug report/discussion on github that got me thinking as well as it might be the cause of the issie:
corona-warn-app/cwa-app-android#508

Here several people with all different kinds of phones have the issue. They say that somehow the wrong version of GMS is being called during the run/wizard of a Corona app. It should not be V17 but at least V18. Some managed to fix this either by clearing data/cache on GMS and GMP and restart the phone. Others (including me) weren't that lucky. Maybe this info can help?

smiba commented

Another option which might cause it is the dual app function (multi-user), this runs multiple copies of the google play services

I know this also causes issues with Android Auto, maybe the same is happening here?
@AirtjE Any chance you're also running a multi-account / "dual app" on your phone? If you are, I'm willing to disable mine even if it would mean having to reinstall some of the apps. It might be called differently on your phone

Cleared the data of GMS but that didn't solve the issue sadly

Dug a bit deeper and it seems 17.3 is correct (is the newest version) if I'm right. So that's a dead trail.

@smiba I did not install any multi-account or dual-app on my phone. However, the phone comes with Clone App built-in. So I uninstalled this functionality:

adb shell
adb pm uninstall --user 0 com.coloros.oppomultiapp
Success

Then went over to GMS and GMP, cleared data/cache. Tried, same error. Cleared data/cache again, rebooted phone, same issue. Both with Coronamelder as well as the German app.

smiba commented

That your phone has this installed did suggest to me it did use the multi-account functionality.
I've removed this from my phone (by using the app and asking it to "remove all dual-app accounts". This does actually remove the entire account, resulting in only having one copy of gms active

I had high hopes this would've fixed the issue. but sadly not.... My phone still gives the exact same error

I'm running Google Play Services 20.33.14 (120400-327249014)

Sorry we weren't able to provide a solution for this issue. It has been a while, hopefully Google resolved the issue in one of their Google Play Services updates. I will close this issue because of inactivity. Feel free to reopen if we can still help regarding this issue.