NHS COVID-19 not usable due to restriction in phone's settings
- /e/ version: 0.15-20210317106351 (17 March 2021)
- Device model(s): FP3+
Summary
"NHS COVID-19" app fails to work properly. It shows an error: "Unfortunately, you can't run this app. This could be due to: A restriction in your settings (for example, if this is a company phone). Another app on your phone is using the same technology and stopping this app from working."
The problem
Steps to reproduce
Install the app above, follow the step by step guide when running the app for the first time and specify your UK postcode. Get the error message shown below.
Note that I tried to enable the Bluetooth before running the app but the same behaviour happens.
What is the current behavior?
We can't pursue further and use the app at all.
What is the expected correct behavior?
We should be able to use the app.
Technical informations
Relevant logs (adb logcat
)
04-18 14:14:50.942 1583 1606 E system_server: Invalid ID 0x00000000.
04-18 14:14:51.707 30085 30106 W id19.productio: Accessing hidden field Ljava/util/Collections$SynchronizedCollection;->mutex:Ljava/lang/Object; (greylist-max-o, reflection, denied)
04-18 14:14:51.707 30085 30106 W id19.productio: Accessing hidden method Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
04-18 14:14:51.708 30085 30106 W id19.productio: Accessing hidden method Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
04-18 14:14:51.719 501 507 E QC-time-services: Receive Passed == base = 13, unit = 1, operation = 2, result = 0
04-18 14:14:51.719 588 597 E QC-time-services: Daemon: Time-services: Waiting to acceptconnection
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: keyset not found, will generate a new one
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: java.io.FileNotFoundException: can't read keyset; the pref value __androidx_security_crypto_encrypted_file_keyset__ does not exist
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readPref(SharedPrefKeysetReader.java:71)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readEncrypted(SharedPrefKeysetReader.java:89)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:105)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:304)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:280)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:230)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at androidx.security.crypto.EncryptedFile$Builder.build(EncryptedFile.java:172)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.getEncryptedFile(EncryptionUtils.kt:70)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedFile(EncryptionUtils.kt:53)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedFile$default(EncryptionUtils.kt:38)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication$buildAndUseAppComponent$encryptedFile$1.invoke(ExposureApplication.kt:106)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication$buildAndUseAppComponent$encryptedFile$1.invoke(ExposureApplication.kt:34)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.retryOnException(EncryptionUtils.kt:108)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.retryOnException$default(EncryptionUtils.kt:102)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:105)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:103)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:47)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1189)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6460)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.access$1300(ActivityThread.java:219)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at android.os.Handler.dispatchMessage(Handler.java:107)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at android.os.Looper.loop(Looper.java:214)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.main(ActivityThread.java:7356)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at java.lang.reflect.Method.invoke(Native Method)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
04-18 14:14:51.899 30085 30085 W AndroidKeysetManager: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: keyset not found, will generate a new one
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: java.io.FileNotFoundException: can't read keyset; the pref value __androidx_security_crypto_encrypted_prefs_key_keyset__ does not exist
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readPref(SharedPrefKeysetReader.java:71)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readEncrypted(SharedPrefKeysetReader.java:89)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:105)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:304)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:280)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:230)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:171)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease$default(EncryptionUtils.kt:169)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:123)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication$buildAndUseAppComponent$sharedPreferences$1.invoke(ExposureApplication.kt:109)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication$buildAndUseAppComponent$sharedPreferences$1.invoke(ExposureApplication.kt:34)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.retryOnException(EncryptionUtils.kt:108)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.retryOnException$default(EncryptionUtils.kt:102)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:108)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:103)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:47)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1189)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6460)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.access$1300(ActivityThread.java:219)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at android.os.Handler.dispatchMessage(Handler.java:107)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at android.os.Looper.loop(Looper.java:214)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.main(ActivityThread.java:7356)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at java.lang.reflect.Method.invoke(Native Method)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
04-18 14:14:52.018 30085 30085 W AndroidKeysetManager: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: keyset not found, will generate a new one
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: java.io.FileNotFoundException: can't read keyset; the pref value __androidx_security_crypto_encrypted_prefs_value_keyset__ does not exist
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readPref(SharedPrefKeysetReader.java:71)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readEncrypted(SharedPrefKeysetReader.java:89)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:105)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:304)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:280)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:230)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:126)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:171)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease$default(EncryptionUtils.kt:169)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:123)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication$buildAndUseAppComponent$sharedPreferences$1.invoke(ExposureApplication.kt:109)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication$buildAndUseAppComponent$sharedPreferences$1.invoke(ExposureApplication.kt:34)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.retryOnException(EncryptionUtils.kt:108)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.retryOnException$default(EncryptionUtils.kt:102)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:108)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:103)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:47)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1189)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6460)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.access$1300(ActivityThread.java:219)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at android.os.Handler.dispatchMessage(Handler.java:107)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at android.os.Looper.loop(Looper.java:214)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at android.app.ActivityThread.main(ActivityThread.java:7356)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at java.lang.reflect.Method.invoke(Native Method)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
04-18 14:14:52.095 30085 30085 W AndroidKeysetManager: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
04-18 14:14:52.560 30085 30154 W Gralloc3: mapper 3.x is not supported
04-18 14:14:52.621 30085 30085 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@3034f93
04-18 14:14:53.163 599 30169 E ResolverController: No valid NAT64 prefix (100, <unspecified>/0)
04-18 14:14:54.542 1583 2641 E TaskPersister: File error accessing recents directory (directory doesn't exist?).
04-18 14:14:57.210 1583 10399 E InputDispatcher: Window handle Window{c5e3d23 u0 uk.nhs.covid19.production/uk.nhs.nhsx.covid19.android.app.onboarding.WelcomeActivity} has no registered input channel
04-18 14:14:57.215 30085 30085 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@d7127e8
04-18 14:14:57.664 599 30188 E ResolverController: No valid NAT64 prefix (100, <unspecified>/0)
04-18 14:14:59.696 30085 30085 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@21e2aa7
04-18 14:15:00.810 1583 2641 E TaskPersister: File error accessing recents directory (directory doesn't exist?).
04-18 14:15:03.906 30085 30085 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@8ffcbc5
04-18 14:15:05.521 30085 30085 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@c663f00
04-18 14:15:07.524 1583 2641 E TaskPersister: File error accessing recents directory (directory doesn't exist?).
Relevant screenshots
Solutions
Workaround
Not yet
Possible fixes
Unknown