swisscovid / swisscovid-app-android Goto Github PK
View Code? Open in Web Editor NEWSwissCovid is the official contact tracing app of Switzerland.
License: Mozilla Public License 2.0
SwissCovid is the official contact tracing app of Switzerland.
License: Mozilla Public License 2.0
Pilot phase testing is hindered by restriction of Google Play country. Many researchers at EPFL/ETHZ use non-swiss accounts. Countries can be only changed once a year. Also, access to existing Google Play balance is removed by chaging the country. Therefore, a significant number of potential testers will not change their country settings. To include these persons into the pilot phase testing, the country restriction should be removed.
English language and consistency errors in GUI.
Observed in v1.0.7 and also in earlier versons.
In English, SwissCovid shows the following at the bottom of the first page on the GUI
"What to do if...
Symptoms of the disease"
(Note that this is not a correct sentence. It is incomplete.)
"What to do if...
you test positive"
(Note that this is a correct and complete sentence)
Following each link reveals
CORRECT:
"What to do if...you test positive" takes you to a page with the same title "What to do if ... you test positive?"
The text "What to do if you test positive?" is a proper question and takes you to a page of the same name. Consistent and correct
INCORRECT:
"What to do if...Symptoms of the disease" takes you to a page with the title "What to do if ... I feel ill?"
The text "What to do if...Symptoms of the disease" is not a proper sentence.
It takes you to a page with a different title ("What to do if ... I feel ill?").
The link name and the following page title are not consistent.
Additionally, it is written in first person (I), whereas the other link/page "What to do if...you test positive" is written in second person (you).
POTENTIAL FIXES
Examples to create consistency and fix the English are:
Example 1:
The first page text could be changed to:
"What to do if...
I feel ill?"
Then the link name and following page are consistent, and in first person
Example 2:
Both the link and following page could be changed to
"What to do if...
I have symptoms of the disease?"
Then the link name and following page are consistent, and in first person.
Example 3:
Both the link and following page could be changed from first person to second person perspective:
"What to do if...
You have symptoms of the disease?"
Then the link name and following page are consistent, and in second person, thus consistent with the "person.
With SwissCovid/swisscovid-app-ios#196 a dark mode was integrated in the iOS app. Would be nice if this could also be added for the Android version.
Currently, all you see is tat the app tells you that it is "aktiv". It would be nice to have some information about:
That would help get a sense of how many contacts you have.
A never do is:
The error header is "no current data". I had mobile data disabled yesterday, so I assume the error is due to not having data connectivity. That should be an expected error with a user-friendly warning that the app requires a data connection (or even better: cache announcements for some time and only display a warning about missing data connection if no connection could be established in say the last 12h or something). In addition the error doesn't disappear once connection is regained, I need to manually stop the app and restart it for the error to disappear.
Edit: Turns out it was something completely different: I had the same error again while having data. At the same time I got a system notification about running out of space on the internal partition. Still would be nice if there was a less cryptid/more user friendly error about this.
DP-3T is a free-standing effort started at EPFL and ETHZ that produced this protocol and that is implementing it in an open-sourced app and server.
What Server? The App works decentralized.
Uhm, right?
It should be possible to use a main switch on the main screen, e.g. on top right of the title bar.
This main switch causes three events:
The existing "Tracing ON/OFF" switch can thus be omitted.
Reasons:
The app is only used in public area and is only useful there.
Due to the app's continuous notifications, you will feel annoyed very quickly at home.
In addition, the power consumption of Bluetooth, despite BLE, is enormous. (SAMSUNG Galaxy Note S10+)
My experience is that the normal average user does not take the trouble or is overwhelmed,
to tap through the settings each time to turn Bluetooth and the notifications off and on again.
Another security aspect that alone justifies a main switch as described above,
In a public space with Bluetooth activated, it is easy for programmers (hackers) to get around with the appropriate software, manipulate other devices, steal personal data or damage the device.
With my expertise, I never move in public areas with Bluetooth activated.
I only switch it on briefly when I need it and then I make sure that nobody is closer than 10 meters from me.
This means that a main switch in SwissCovid would allow the user to deactivate his tracing app in a bus or train after 15 minutes, after he has assessed his position through the app, and if necessary, switch on again at any time...with one click.
Hi DP-3T team!
Nice work for a first draft version!
I found the following issue on my phone: the left and right sides of the input field in the fragment_inform screen are slightly cut (the left border is missing on the first digit and the right border is missing on the last digit). See attached screenshots.
Device: Motorola Moto G9
Android Version 9
Display size: 1080x2160
Could be, that this error is caused by LineageOS. If yes, this is more a confirmation, that the app error handling is working.
I got an unexpected error "NSBSE" (BLE_SCANNER_ERROR) with a DEV Debug build of 1.0, 0.2.6 on a OnePlus 5T with LineageOS 16.0 from 21. April 2020.
With logcat I just find:
05-13 17:05:37.610 12916 12932 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=0a138d07-2cf1-4d07-a121-bb2f0704a9f2, tags={ ch.ubique.android.starsdk.SyncWorker } ]
On my Huawei Mate 10 Pro (BLA-L29; Android 10) the apps seems to execute exposure checks very irregularly. It happens only 3 times (July 2nd, 4th and 16th). The check at the 16th July was forced by opening the Covid notification settings in the Android system settings .
Exported exposure checks:
[{"timestamp":"Juli 16, 2020 19:17","keyCount":21,"matchesCount":0,"appName":"SwissCovid","hash":"ychfsT1+dMgTnum4cx6W\/NQucYn81woa6W98Nh4ia0U="},{"timestamp":"Juli 16, 2020 19:17","keyCount":32,"matchesCount":0,"appName":"SwissCovid","hash":"jftAi5ehWSKp6oXzL2yAZHnl7eh3vqB5w3ACElX9Mhw="},{"timestamp":"Juli 16, 2020 19:17","keyCount":44,"matchesCount":0,"appName":"SwissCovid","hash":"Y\/6oOQew2+qCER31kDZpj6nS2Z\/lyDB7YQQUZMZZl7I="},{"timestamp":"Juli 16, 2020 19:17","keyCount":54,"matchesCount":0,"appName":"SwissCovid","hash":"fEAOjHggxN0JlRIHQnV874pRJ6eM0Uw0jux81IVaVTo="},{"timestamp":"Juli 16, 2020 19:17","keyCount":57,"matchesCount":0,"appName":"SwissCovid","hash":"2KCkIYFlOZQJciXuUaFdyL2IDxhu2hlF0Ljv8xolNEc="},{"timestamp":"Juli 16, 2020 19:17","keyCount":52,"matchesCount":0,"appName":"SwissCovid","hash":"RJFKRgOEXEiVyU+Y0YyWVwhjmkoIXhizYbu9D2Afdl0="},{"timestamp":"Juli 16, 2020 19:17","keyCount":52,"matchesCount":0,"appName":"SwissCovid","hash":"FqbUp9KBH4afOR0UUvitD5HtcHKpTI9McABEFVcWV44="},{"timestamp":"Juli 16, 2020 19:17","keyCount":55,"matchesCount":0,"appName":"SwissCovid","hash":"7HO4IWCAoXeRHeCac18uysz+xmVfcE+iWcDMH2LSNWI="},{"timestamp":"Juli 16, 2020 19:17","keyCount":57,"matchesCount":0,"appName":"SwissCovid","hash":"2SP6WyuTEB3qCK1vcOtxki8vAH40Ltaia\/VESNNxHWM="},{"timestamp":"Juli 16, 2020 19:17","keyCount":54,"matchesCount":0,"appName":"SwissCovid","hash":"CoBai+kU1NjdeOiG1aEGoqag+iIbId7+TAGckLfWcDE="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"CW6eJliTeNU7pATrNofKs1iYo5EEjWmwxJKluuRqEAY="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"l6R9u1+24nt2cC4iiGI1Q4l0QBSYLIQ7VN7IzibaUKE="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"3VAfZNAAxVkkJW62tG0np1J+bMaPyXcYF5IDEnGaSYg="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"SYKLYA8cgloD5Nz71aTuA+KwEyaWNJ2MfXBoYo9+ChI="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"ePn6sAGwjY5pSpx7hDkkqhthW\/rfs8BZS2HL0bf9\/M0="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"3Eu+wwho5W9RhQnHxigEmOYq5Tzb91y3laWyR5L6AGU="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"dkmhbwUFeVD1l0Epmp5ZrwuCu3I9xARF5\/Mweyn77\/c="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"zCI+nM5xnJcupAWSqP8anYj3u+zyfVjAauRm+bFVbGQ="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"SJ33qPvm4jmapNE\/AxTJ4HlABYfuV6S5PEZ8qXyNNL8="},{"timestamp":"Juli 2, 2020 19:30","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"D0KDu3WjtUlVBbRNOSykAby2Xx18OYHt5rE6x4CwdyU="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"6MnEiHbBrrE18e7TjLGjJcDBjuQiQHhmXRvMSmkHJg4="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"vRSuzl4lhnw0B\/klElT+dX9OzHOrblJg6W+0bbCuK1k="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"89RxSKm57ts16a0GKz60j12+yOr0wGLYDZoq3eQvAn8="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"hvx30BXFCRKfpuT1yUT4kQHY7VnlrOc470nArSjM6Ho="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"exIksdkplR1sBfA7aFI+V19762HPOfK3HfEXL6fa+Nw="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"el5nsJW5hPqgDVaA63EznyUiM0xqAPCEHRxd5Pnt73c="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"prxBq1odcg0kA62p2prujgoXQdD8kfTlrDhxqeXh5gA="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"m0bjgpO4Xe+Si+BR+i4BdCFQil95nc4cs7IFnNzGy3c="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"Be3pfTtK7\/OV\/Bibt7ixKi8Rm6Cb6mEEpKzW7NFypJA="},{"timestamp":"Juli 4, 2020 19:07","keyCount":0,"matchesCount":0,"appName":"SwissCovid","hash":"Lvuc45ZhuauHPKIrG8DJnZzEAcHTSixWzyFRDiUmD\/g="}]
Hello there.
I wanted to install the SwissCovid app on my Honor 6x (Android 8.0.0, EMUI 8.0.0) but I got this Error:
17: API: Nearby.EXPOSURE_NOTIFICATION_API is not available on this device.
and below:
Connection failed with: ConnectionResult{statusCode=UNKOWN_ERROR_CODE(39501), resolution=null, message=null}
The Google PlayStore is Version 20.5.19-all [0] [PR] 316024227
Bluetooth is activated and I tried to reinstall the application.
Anybody knows what's happening?
First off great work ๐
I was able to download the App from the Play Store yesterday, not sure if this was intended or not.
I like the UI and UX, it is very simple. But what I think would help with transparency is to see the number of datasets stored on my local device. This can also be a little hidden on the info page. For example display the number of current encounters.
This is just an idea and should be simple to be implemented, but it would for sure help me to trust the app more because I can see what it is doing.
I tried the commit 3dd348c and because by Honor 8X didn't receive the update from Google, I don't have the exposure notification api. When I try to activate the tracing an alert pop up with I think the original error message "17: API: Nearby.Exposure_NOTIFICATION_API is not available on this device. Connection failed with: ...". Maybe it can be good to modify this error message for the user.
I run LineageOS without Google Services. The application reports, that it needs updated Google Play Sevices to run, which I will not install, since they are closed source and proprietary software.
The app help mentions that the keys are stored on the device for 21 days (begegnung_detail_faq2_text). The help in the Google COVID-19 exposure notifications however says "14 days".
Hi,
I installed the SwissCovid app, but it looks as if it goes dormant as soon as I use other apps.
So today for the whole day it says 0s in use.
Did you already encounter that?
Originally posted by @rogerfischer in #52 (comment)
F-Droid (https://f-droid.org) is the main opensource apps repository for users that do not have Google tools installed on their android.
The project could provide the APK on F-Droid to allow non google-tools users to install the app also.
The instructions for adding an app are located at https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md
This is dependent on issue #59
I installed the app on a Samsung SM-T700 tablet, running Android 7.1. (api 25).
The app seems to run without any problems. But the device mentioned is not capable to transmit ble tokens due to missing hard- or firmware. This can easily be verified using an app like 'nRF connect' (on a second device).
Please add a message to clear that situation to the user. There are many moslty older devices out in the field that may have the same problem.
I use commit 84626fd. The notification in French when the Bluetooth and the location are deactivated is not straightforward, because of the repetition of some information and after "ร aucun moment" you have ".,".
Hello,
I compiled and installed the app on my phone running a pure Android Open Source Project (AOSP) OS. Unfortunately after launching the app it turns out that it has a Google Play Services dependency which is a closed source software and not available in AOSP or Lineage OS.
Is there any solution/workaround for open source android users?
Thanks!
On some Android devices all entries on Settings > Google > COVID-19 Notifications > Exposure checks show "Number of keys: 0" and "Number of matches: 0".
This is not a bug of the SwissCovid app but of the ExposureNotification framework provided by Google. The bug was reported to Google and will be fixed with a future version of the framework. The behaviour of the app is not affected, the bug only affects the number show in the "Exposure checks" menu, the checks are performed normally with all provided keys.
I'm using a dev build built from f6b4efb on a Huawei PRA-LX1, Android 8.0.
When it says "restart necessary (NSBAE)", I can almost always make it go back to working by bringing up the notifications panel and clicking the notification.
I do not have adb access to this phone, so I can't do better debugging than that.
This would be a nice-to-have feature.
As the app stores any contact locally, a feature which would show the number of contacts per day might be useful. The user could improve his/her behavior in terms of social distancing. It could also be a good indicator that it might be a good idea to wear a face mask.
Of course this would also apply to https://github.com/DP-3T/dp3t-app-ios-ch
The first version of the next-step has shown the number of contacts on the main screen. I used this to show that the app is doing something and to check how many contacts I "created". I would recommend to include this also in the final version of the app. I know that this does not represent the "real" number of contacts, but I think any indication, that something "real" is happening would be very useful.
See also
DP-3T/dp3t-app-android-demo#3
DP-3T/dp3t-sdk-android#89
Hello
Sporadically I get an error AGAEN39508.-2 with the message, that no current data are available.
Appended the needed version information
Phone: Shift5me
Android: 8.0.0
SwissCovid-App Version 1.0.5
The following URL shows the error:
https://drive.google.com/file/d/1mxQ8mLVNh7zmq--PjZhQLWwpIyhI-DWF/view?usp=sharing
Right now there is a lot of confusion whether enabling bluetooth and most importantly location is technically required for contact tracing to work.
See this thread for example, with lots of replies and a lot of confusing and contradicting information: https://twitter.com/adfichter/status/1265552302091403266
From what I understand, the DP-3T Android app uses Google's Exposure Notifications API to detect exposure and does not in any ways interact with the BLE stack.
In the Exposure Notifications API FAQ, it is written:
This is reflected in the AndroidManifest:
So the permissions in DP-3T are clear, and no location access will be required. However, the question remains whether the location needs to be enabled at all for SwissCovid to work. The Android developer documentation mentions:
So from what I understand, location access is only required to initiate a BLE scan, because that is precisely the way how the location of a user is being estimated. Just having the BLUETOOTH permission does not allow you to determine the location of a user.
So in essence, this boils down to two questions:
Not needing to enable location services would be a big improvement with regards to user trust.
currently pinning (class CertificatePinning) is only used within class ConfigRepository ( all https requests should be protected )
Some steps:
Info
Stack trace:
FATAL EXCEPTION: main
Process: ch.admin.bag.dp3t, PID: 5480
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@e477c90 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:798)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.Dialog.show(Dialog.java:329)
at androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:2)
at ch.admin.bag.dp3t.onboarding.OnboardingGaenPermissionFragment.lambda$activateGaen$6$OnboardingGaenPermissionFragment(OnboardingGaenPermissionFragment.java:8)
at ch.admin.bag.dp3t.onboarding.-$$Lambda$OnboardingGaenPermissionFragment$f6FWUcdwgeIQm3y4Wpr0_QpGNdA.accept(Unknown Source:6)
at org.dpppt.android.sdk.DP3T.lambda$start$1(DP3T.java:2)
at org.dpppt.android.sdk.-$$Lambda$DP3T$UVi9w5byNHCGNiVf9VXIkFjhUds.accept(Unknown Source:4)
at org.dpppt.android.sdk.internal.nearby.GoogleExposureClient.lambda$start$1(GoogleExposureClient.java:10)
at org.dpppt.android.sdk.internal.nearby.-$$Lambda$GoogleExposureClient$S_GvBtY43IrGwB3bGO6kWKBQPXg.onFailure(Unknown Source:6)
at com.google.android.gms.tasks.zzl.run(com.google.android.gms:play-services-tasks@@17.0.2:8)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.google.android.gms.internal.tasks.zzb.dispatchMessage(com.google.android.gms:play-services-tasks@@17.0.2:1)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Another similar stack trace (probably pointing to the same issue):
FATAL EXCEPTION: main
Process: ch.admin.bag.dp3t, PID: 2725
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@de870c1 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:798)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.Dialog.show(Dialog.java:329)
at androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:2)
at ch.admin.bag.dp3t.contacts.ContactsFragment.lambda$null$5$ContactsFragment(ContactsFragment.java:8)
at ch.admin.bag.dp3t.contacts.-$$Lambda$ContactsFragment$WLiQ3J9D74Mg5Gi8M1uwTrjbJnc.accept(Unknown Source:6)
at org.dpppt.android.sdk.DP3T.lambda$start$1(DP3T.java:2)
at org.dpppt.android.sdk.-$$Lambda$DP3T$UVi9w5byNHCGNiVf9VXIkFjhUds.accept(Unknown Source:4)
at org.dpppt.android.sdk.internal.nearby.GoogleExposureClient.lambda$start$1(GoogleExposureClient.java:10)
at org.dpppt.android.sdk.internal.nearby.-$$Lambda$GoogleExposureClient$S_GvBtY43IrGwB3bGO6kWKBQPXg.onFailure(Unknown Source:6)
at com.google.android.gms.tasks.zzl.run(com.google.android.gms:play-services-tasks@@17.0.2:8)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.google.android.gms.internal.tasks.zzb.dispatchMessage(com.google.android.gms:play-services-tasks@@17.0.2:1)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I was wondering if there is any way to simulate a warning and an infection in the test version of the app?
The readme says "The app will not be functional unless your Google account is whitelisted for ExposureNotification testing" but does not explain how to actually do this. Can you please provide (or link to) documentation to help end-users figure out how to do so?
I downloaded the apk from here:
I followed instructions https://github.com/DP-3T/dp3t-app-android-ch/blob/master/REPRODUCIBLE_BUILDS.md
$ git status
HEAD detached at 1.0.5
Untracked files:
(use "git add <file>..." to include in what will be committed)
swisscovid-built.apk
nothing added to commit but untracked files present (use "git add" to track)
I used this:
user@debian:~/dp3t-app-android-ch$ docker run --rm -v ~/dp3t-app-android-ch:/home/swisscovid -w /home/swisscovid swisscovid-builder gradle assembleProdRelease -PkeystorePassword=securePassword -PkeyAliasPassword=securePassword -PkeystoreFile=build.keystore -PbuildTimestamp=1592520999206
...
BUILD SUCCESSFUL in 1m 16s
26 actionable tasks: 26 executed
user@debian:~/dp3t-app-android-ch$ cp -iv app/build/outputs/apk/prod/release/app-prod-release.apk swisscovid-built.apk
'app/build/outputs/apk/prod/release/app-prod-release.apk' -> 'swisscovid-built.apk'
user@debian:~/dp3t-app-android-ch$
to build the apk.
user@debian:~/dp3t-app-android-ch$ sha256sum swisscovid-built.apk ~/Downloads/ch.admin.bag.dp3t_1.0.5-10050_minAPI23\(nodpi\)_apkmirror.com.apk
0f45d83fbd6d077040f35e6b6eefe85d1c77fa290b72c506b5d8eea3e2febc66 swisscovid-built.apk
e0336a6e38e0a6c0b42bcd50c3995a2305dfe44e0e7042bfb8d9e06cb4561fce /home/user/Downloads/ch.admin.bag.dp3t_1.0.5-10050_minAPI23(nodpi)_apkmirror.com.apk
user@debian:~/dp3t-app-android-ch$ python3 apkdiff.py ./swisscovid-built.apk ~/Downloads/ch.admin.bag.dp3t_1.0.5-10050_minAPI23\(nodpi\)_apkmirror.com.apk
APK file res/drawable-ldpi-v4/ill_prinzip.png does not match
APKs are different!
Offending file.
From this repo (build via docker):
From apkmirror:
user@debian:~$ ls -l from-*/ill_prinzip.png
-rw-r--r-- 1 user user 10511 Dec 31 1979 from-apkmirror/ill_prinzip.png
-rw-r--r-- 1 user user 10513 Dec 31 1979 from-docker/ill_prinzip.png
user@debian:~$ sha256sum from-*/ill_prinzip.png
8e08919a3f56ed9af98c9747daa256e34ecc2b1af8654afee20d78ed189bd708 from-apkmirror/ill_prinzip.png
d6603367eadb7c58be9bacdb8ff5f05d728733ef07dd9c175114ba8ff6749abf from-docker/ill_prinzip.png
user@debian:~$ file from-*/ill_prinzip.png
from-apkmirror/ill_prinzip.png: PNG image data, 244 x 135, 8-bit/color RGBA, non-interlaced
from-docker/ill_prinzip.png: PNG image data, 244 x 135, 8-bit/color RGBA, non-interlaced
user@debian:~$ cmp from-*/ill_prinzip.png
from-apkmirror/ill_prinzip.png from-docker/ill_prinzip.png differ: byte 37, line 3
user@debian:~$ diff -y <(hd from-docker/ill_prinzip.png) <(hd from-apkmirror/ill_prinzip.png) | head -20
00000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 | 00000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 |
00000010 00 00 00 f4 00 00 00 87 08 06 00 00 00 21 99 74 | 00000010 00 00 00 f4 00 00 00 87 08 06 00 00 00 21 99 74 |
00000020 91 00 00 28 d8 49 44 41 54 78 da ed 9d 09 5c 14 | | 00000020 91 00 00 28 d6 49 44 41 54 78 da ed 9d 09 5c 14 |
00000030 57 b6 f0 67 c9 37 93 99 2f 99 e4 65 9c 37 79 13 | | 00000030 67 96 c0 27 33 d9 99 cc 6c 32 71 33 ce 4e 76 62 |
00000040 f3 9e df 9b cc 97 8c 0b e0 be 01 16 bb b2 0b 36 | | 00000040 76 dd 9d cc 26 e3 01 a8 f1 06 2c 6e e5 16 6c 40 |
00000050 20 8a 34 dd 80 ac 22 a2 71 4d 24 ae d1 8c 1a f5 | | 00000050 14 69 ba 01 39 45 44 e3 99 48 3c 62 d4 51 a3 ae |
00000060 b9 a2 74 83 5b c4 2d 8a 8a 6b 88 0b 34 0a 0a 8a | | 00000060 27 4a 37 78 45 bc a2 a8 78 86 78 40 a3 a0 a0 48 |
00000070 44 10 14 b7 b8 27 4a cc 62 e2 64 ee bb a7 ba ab | | 00000070 04 41 f1 8a c6 23 51 62 0e 13 27 f3 ed f7 aa bb |
00000080 a9 ae ae ae ae ea 8d 06 ee f9 fd ce 0f e8 2e 9a | | 00000080 9a ea ea ea ea aa be 68 e0 7b bf df fb 01 dd 45 |
00000090 a6 fa fe eb 2c f7 9c 53 bf f8 05 91 36 97 c7 8f | | 00000090 d3 54 7f ff 7a c7 f7 de ab 5f fc 82 48 9b cb a3 |
000000a0 1f bf da d2 d2 92 f5 cd 37 df 94 60 bd 8c b5 19 | | 000000a0 47 8f ba b4 b4 b4 64 7d f3 cd 37 25 58 2f 63 6d |
000000b0 6b 25 d6 bc 27 4f 9e f4 23 67 88 08 91 76 22 4f | | 000000b0 c6 5a 89 35 ef f1 e3 c7 6f 93 33 44 84 48 3b 91 |
000000c0 9f 3e 8d c4 e0 3e c4 8a 04 b4 e4 db 6f bf 7d 9d | | 000000c0 27 4f 9e 44 62 70 1f 60 45 02 5a f2 ed b7 df be |
000000d0 9c 2d 22 44 9c 58 30 a8 0b cd 80 cc d6 bb 18 fe | | 000000d0 4a ce 16 11 22 4e 2c 18 d4 05 66 40 66 eb 5d 0c |
000000e0 9e e4 ac 11 21 e2 9c 30 2b 25 c0 cc e8 2d 70 cf | | 000000e0 7f 2f 72 d6 88 10 71 4e 98 95 12 60 66 f4 16 b8 |
000000f0 c9 d9 23 42 c4 c9 62 66 0c e7 63 b1 10 eb 62 ea | | 000000f0 e7 e4 ec 11 21 e2 64 31 33 86 f3 91 58 88 75 31 |
00000100 46 ac a5 70 21 20 67 90 08 11 e7 02 ba 1b 06 33 | | 00000100 75 23 d6 52 b8 10 90 33 48 84 88 73 01 dd 1d 83 |
00000110 1e 14 c7 c6 3e d8 95 a6 5a 5a 5a 06 c1 e3 3a 25 | | 00000110 19 0f 8a 63 63 1f ec 4a 53 2d 2d 2d 83 e0 71 9d |
00000120 56 98 08 11 22 44 88 10 21 42 84 08 11 22 44 88 | | 00000120 12 2b 4c 84 08 11 22 44 88 10 21 42 84 08 11 22 |
00000130 10 21 42 84 08 11 22 44 88 10 21 42 a4 f3 09 54 | | 00000130 44 88 10 21 42 84 08 11 22 44 88 10 21 d2 f9 04 |
user@debian:~$
The screenshot below is from Google Play installed version:
Please allow for language change in App
I have my Android OS set to English but I'd prefer to see the content of the App in German.
Why?
ios 13.5.1 iphone 6s. bluetooth on. SwissCovid app installed.
ios menu > privacy > bluetooth (/ health) COVID-19 Exposure logging > Off. Not available in your region. ......
note: apple id & handset region is set to switzerland. handy nummer ch.
As it seems there is currently no possibility to see received or distributed IDs to nearby contacts. This would allow the user to assess their exposure level.
I cannot activate tracing on a Google Pixel 3 XL phone. I saw simliar issues #51, but mine is reported with a totally different StatusCode.
Detailed info:
adb shell dumpsys activity provider - com.google.android.gms.chimera.container.GmsModuleProvider | grep 'nearby_en'
: com.google.android.gms.nearby_en [v201817000]Screenshot:
The model DPIA commissioned by the DP-3T consortium says quite explicitly that the beacon data transferred by one user to another should be treated as sensitive personal data (p 17).
One the other hand, the interface communicates in a few places that different processing operations are "anonymous". See for instance here.
Anonymous data has a specific meaning in EU data protection law, i.e. data that is not re-identifiable, and therefore not considered personal data.
Again, the model DPIA states that it is generally understood that what constitutes personal data is the same in Swiss and European law.
We see that there is thus a clash, between how the app presents what it does, and what it actually does from a legal standpoint, as interpreted by the lawyers hired by the DP-3T collaboration.
Additionally, this might be problematic in the future, if indeed the goal is to guarantee interoperability. A user operating the Swiss app in Italy would be misled by the current interface. One might argue that it would be ok, as the app could be updated, but I don't see how this would be done given EphIDs are stored for a while. Additionally this might lead to problems in case of multiple apps being installed on the same device.
The remedial is actually fairly simple: substitute "pseudonymously" for any current occurrence of "anonymously", since this would be more reflective of what is done, and the actual risk of re-identification (which underpinned the legal advice in the first place).
I am living near the border to Germany.
Would it be possible to implement a part of the backend of another country to get the validated tested ID's? If this is possible, it would be great for people near the border if you could check the box for neighboring countries to see the corresponding dangers.
You would then only need an app, because I would then have myself tested by my doctor/hospital in Switzerland. If the other countries would offer the same option (to check the databases of the other countries), these people would also be warned in case of a case from me.
Could you please explain what are the copyrights for Ubique Innovation and why? I thought the code was developed with public funds
Hi DP-3T,
after switching to Android 11 beta 1, the app now constantly sends this Android notification:
"App currently unable to function properly.
It has not been possible to synchronise reports for some time. Please check that your device is connected to the internet. (ASST502)"
Internet works fine, issue occurs no matter if 4G or Wi-Fi is used.
Uninstalling & reinstalling the app or restarting the device does not help.
App version: version 1.0.3-pilot, 0.5.6
Android version: Android 11 beta 1, build RPB1.200504.018
HW: Pixel 3
Google PlayServices generate a weekly notification with a summary about the exposure tracking during the last week. In most cases this will show "Your smartphone did not find any contact with infected people.". Because this message is not coming from SwissCovid it can be confusing for the users.
We reported this unexpected behaviour to Google. The notification has no impact on the functionality of the app.
FYI.
$ sha256sum sdk-tools-linux-3859397.zip
444e22ce8ca0f67353bda4b85175ed3731cae3ffa695ca18119cbacef1c1bea0 sdk-tools-linux-3859397.zip
Yes, it is downloaded over HTTPS from dl.google.com, but I don't think is good enough.
Issue:
App version 1.0.5 running on android 10. Whenever Bluetooth is intentionally turned off, when being at home for example, the app sends regular notifications (about 7 per day according to the android app info settings) that Bluetooth needs to be turned on in order for tracing to work. At the moment one can mute notifications from the android settings but I assume this would also mute exposure notifications. It seems to me that these notifications are a little bit too frequent and can be distracting at times.
Proposed Solution:
Adding an option to disable such notifications from the app or reducing the frequency to 1 notification per day for example.
Phone: oppo Reno (color os)
Issue: app says to let app run in background, and tell it back 15 min after
Root cause: app has been configured to smart background running
Is it an os limitation? May be pushing a message such as "if that message occurs more than once, you'll have to change it manually in setup > search battery > power saver options" (oppo path...) Would be enough
Since the app uses BLE, the authorization for the location must be given. According to reviews in the PlayStore, many people uninstall the app because they think that the app needs a lot of energy - because the location and therefore (in the mistaken belief) GPS is enabled.
The first time the app is launched, it should probably display some information about why the location is needed and that it is not the same as GPS. It should also be mentioned that BLE is not equal to Bluetooth (Classic), because many people think: "Other Bluetooth functions don't need location sharing, why do they need it?
Bug description
Info
Crash stack
FATAL EXCEPTION: main
Process: ch.admin.bag.dp3t, PID: 8692
java.lang.RuntimeException: Unable to start activity ComponentInfo{ch.admin.bag.dp3t/com.google.android.gms.common.api.GoogleApiActivity}: android.content.ActivityNotFoundException: No Activity found to handle null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: android.content.ActivityNotFoundException: No Activity found to handle null
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2051)
at android.app.Activity.startIntentSenderForResultInner(Activity.java:5455)
at android.app.Activity.startIntentSenderForResult(Activity.java:5421)
at android.app.Activity.startIntentSenderForResult(Activity.java:5388)
at com.google.android.gms.common.api.GoogleApiActivity.onCreate(com.google.android.gms:play-services-base@@17.2.1:12)
at android.app.Activity.performCreate(Activity.java:7802)
at android.app.Activity.performCreate(Activity.java:7791)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
... 11 more
Reproducing video
I have installed the SwissCovid app 1,5 week ago on my Android phone (Samsung A40, Android version 10). However, I am constantly getting an error message "An unexpected error has occurred while synchronising reports (AGAEN39508)" (see screenshot). I already tried uninstalling-reinstalling the app, but the error persisted.
It should be "Envoyer"
, not "Enviar"
.
I installed the application and get an error (and notification) that the "App [is] currently unable to function properly".
Model: Pixel 3 XL
OS: Android 10
Patch level: June 5,2020
On my Xiaomi it looks like the backround mode is disabled frequently. Sometimes it shows me a red error when I open the app, that I need to allow background activity. Not sure it works always as expected, because I need to check that manually. No idea why it comes back, seems to be random, but really frequently (once a day)
I can't connect my Polar sports watch to the Polar Flow application when the Covid app is running. The Polar device uses Bluetooth for sending data to the phone. If I turn off proximity tracing than all works fine.
I experience this on a Samsung Galaxy S9.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.