Coder Social home page Coder Social logo

covidwatch-android-tcn's People

Contributors

akhilveeraghanta avatar apisov avatar burningaxe avatar crayne avatar haydenridd avatar jamesjmtaylor avatar jamespetrie avatar madhavajay avatar madim avatar nkumarcc avatar prabhuinbarajan avatar redbassett avatar rhysfenwick avatar zssz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

covidwatch-android-tcn's Issues

Home screen banners

Add banners for no Bluetooth on/interacted with someone infected/reported

  • Bluetooth Notif -> home page (not necessarily MVP)
  • Stack Bluetooth and Infected banners if both are active

[UI/UX] Tested Screen iter 2.0

  • Make datepicker buttons only show when appropriate radio button is picked
  • Make Report button show when only the radio buttons/datepicker are filled
  • Double check notifs to nearby device post infection

Add pull refresh for events

At least for the purposes of the MVP presentation to officials we need to ensure the following scenario works reliably:

  • Two phones running Covid Watch are placed near each other for 15 minutes (make it less for the presentation!?)
  • On one of the phones the user marks him/herself as positive
  • Notification is received on the other one

Check how much time it takes to download positive contacts from Firebase and whether it can be done real-time (through an observer or otherwise).

Unfortunately COVID WATCH app has stopped in Android device

COVID WATCH has been installed in my Android device successfully. I got the following error when opening the App.

Android device specifications:

Model: Asus Zenfone Max
Android version: 6.0.1

Error in Android device:
"Unfortunately COVID WATCH app has stopped in Android device"
Error in Android Studio Logcat:

2020-04-16 17:46:35.042 11816-11846/org.covidwatch.tags.android E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
    Process: org.covidwatch.tags.android, PID: 11816
    java.lang.NoClassDefFoundError: com.google.common.base.CharMatcher
        at com.google.common.base.Splitter.on(Splitter.java:127)
        at io.grpc.internal.GrpcUtil.<clinit>(GrpcUtil.java:203)
        at io.grpc.internal.AbstractManagedChannelImplBuilder.<clinit>(AbstractManagedChannelImplBuilder.java:84)
        at io.grpc.okhttp.OkHttpChannelProvider.builderForTarget(OkHttpChannelProvider.java:48)
        at io.grpc.okhttp.OkHttpChannelProvider.builderForTarget(OkHttpChannelProvider.java:27)
        at io.grpc.ManagedChannelBuilder.forTarget(ManagedChannelBuilder.java:73)
        at com.google.firebase.firestore.remote.GrpcCallProvider.initChannel(com.google.firebase:firebase-firestore@@21.4.2:113)
        at com.google.firebase.firestore.remote.GrpcCallProvider.lambda$initChannelTask$6(com.google.firebase:firebase-firestore@@21.4.2:256)
        at com.google.firebase.firestore.remote.GrpcCallProvider$$Lambda$5.call(com.google.firebase:firebase-firestore@@21.4.2)
        at com.google.android.gms.tasks.zzv.run(Unknown Source)
        at com.google.firebase.firestore.util.ThrottledForwardingExecutor.lambda$execute$0(com.google.firebase:firebase-firestore@@21.4.2:54)
        at com.google.firebase.firestore.util.ThrottledForwardingExecutor$$Lambda$1.run(com.google.firebase:firebase-firestore@@21.4.2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:818)
2020-04-16 17:46:44.944 11816-11845/org.covidwatch.tags.android W/Firestore: (21.4.2) [OnlineStateTracker]: Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds
    
    This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.

[UI/UX][HIGH PRI] Integrate UI/UX with BLE code

Existing BLE Android repo: https://github.com/covid19risk/covidwatch-android
UX Repo merging from: https://github.com/covid19risk/covidwatch-android-ux

Right now we've added:

  • Initiating Bluetooth permissions (it's buggy and not running properly rn, most of the code has been copied). This doesn't require asking permission from user
  • Initiating location permissions, this requires a request and has been copied over from the above repo

Next:

  • Debug Bluetooth permissions
  • Actually run the advertising/receiving data

It looks like the best way to integrate this is to make a new branch in the https://github.com/covid19risk/covidwatch-android repo where we add our UI/UX code and connect it to the infra for tag.

[BLE] Ensure bluetooth service is always running

Currently the bluetooth service is BluetoothManager is started when the app starts. However, if the device restarts and the user does not explicitly start the app, service will not work. We need to ensure it does.
As of v2.3.0 WorkManager supports running foreground services through it which will ensure service persists through app/device restarts: https://developer.android.com/topic/libraries/architecture/workmanager/advanced/long-running
So I think this is the best approach to solve the problem. Again, I would like @Apisov's take on this. Also, will this be implemented in the TCN library or on the client side!?

Clean git from .idea folders

'.idea' is a dev-machine-specific folder from IDE which is bad to push because every dev will have to remove automatically-changed by IDE files under this folders.

TODO

  • Update .gitignore file
  • Possibly, update the project folder structure as we have redundant level of folders. We could only keep the CowidWatch folder and make it the root of this repository

Don't notify user of exposure more than once

The app periodically checks if the user has been exposed. However, if the user is indeed exposed notification is shown at every check. There should be a flag that saves the status the first time and then skips notifying.
Probably the place to do so is in CurrentUserExposureNotifier::startObservingLocalContactEvents()

Testing + Prod versions of app

In testing app, refresh more constantly for updates from Firebase.

In prod we can just use the 15 minute minimum for periodic tasks

Daily Tracing Key constantly being generating when contacting iPhone

Phone: Samsung S7 Edge
OS: Android 7
Branch: On branch remotes/origin/develop

Description: After starting the scanning on the Android and iPhone, the Android device constantly generates the Daily Tracing Key.

I can provide a video if needed.....

Logging info:

04/16 19:51:36: Launching 'app' on samsung SAMSUNG-SM-G935A.
$ adb shell am start -n "org.covidwatch.tags.android/org.covidwatch.android.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 31192 on device 'samsung-samsung_sm_g935a-7adcd77c'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
W/System: ClassLoader referenced unknown path: /data/app/org.covidwatch.tags.android-2/lib/arm64
W/ResourceType: ResTable_typeSpec entry count inconsistent: given 117, previously 126
W/ResourceType: ResTable_typeSpec entry count inconsistent: given 166, previously 169
ResTable_typeSpec entry count inconsistent: given 171, previously 671
D/ContextRelationMgrBrdg: loadKlass() : caller=com.samsung.android.bridge.multiscreen.common.ContextRelationManagerBridge.:28 android.app.LoadedApk.makeApplication:833
I/FirebaseInitProvider: FirebaseApp initialization successful
W/ResourceType: ResTable_typeSpec entry count inconsistent: given 117, previously 126
ResTable_typeSpec entry count inconsistent: given 166, previously 169
ResTable_typeSpec entry count inconsistent: given 171, previously 671
W/ResourceType: For resource 0x7f110182, entry index(386) is beyond type entryCount(171)
For resource 0x7f1100e8, entry index(232) is beyond type entryCount(171)
For resource 0x7f1100f1, entry index(241) is beyond type entryCount(171)
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
W/ResourceType: For resource 0x7f1101c8, entry index(456) is beyond type entryCount(171)
For resource 0x7f110208, entry index(520) is beyond type entryCount(171)
For resource 0x7f110208, entry index(520) is beyond type entryCount(171)
For resource 0x7f11020a, entry index(522) is beyond type entryCount(171)
For resource 0x7f11020e, entry index(526) is beyond type entryCount(171)
For resource 0x7f11020c, entry index(524) is beyond type entryCount(171)
For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
For resource 0x7f11021c, entry index(540) is beyond type entryCount(171)
For resource 0x7f1101f3, entry index(499) is beyond type entryCount(171)
For resource 0x7f1101f5, entry index(501) is beyond type entryCount(171)
For resource 0x7f11021a, entry index(538) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f1101f6, entry index(502) is beyond type entryCount(171)
For resource 0x7f1101c7, entry index(455) is beyond type entryCount(171)
For resource 0x7f1101f7, entry index(503) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fe, entry index(510) is beyond type entryCount(171)
For resource 0x7f1101c6, entry index(454) is beyond type entryCount(171)
For resource 0x7f110220, entry index(544) is beyond type entryCount(171)
For resource 0x7f110205, entry index(517) is beyond type entryCount(171)
For resource 0x7f110206, entry index(518) is beyond type entryCount(171)
For resource 0x7f11021d, entry index(541) is beyond type entryCount(171)
For resource 0x7f11021e, entry index(542) is beyond type entryCount(171)
For resource 0x7f110175, entry index(373) is beyond type entryCount(171)
For resource 0x7f110219, entry index(537) is beyond type entryCount(171)
For resource 0x7f11021b, entry index(539) is beyond type entryCount(171)
For resource 0x7f11022c, entry index(556) is beyond type entryCount(171)
For resource 0x7f110204, entry index(516) is beyond type entryCount(171)
For resource 0x7f110202, entry index(514) is beyond type entryCount(171)
For resource 0x7f11013d, entry index(317) is beyond type entryCount(171)
For resource 0x7f110126, entry index(294) is beyond type entryCount(171)
For resource 0x7f11013d, entry index(317) is beyond type entryCount(171)
For resource 0x7f110150, entry index(336) is beyond type entryCount(171)
For resource 0x7f110139, entry index(313) is beyond type entryCount(171)
For resource 0x7f11013a, entry index(314) is beyond type entryCount(171)
For resource 0x7f110235, entry index(565) is beyond type entryCount(171)
For resource 0x7f110234, entry index(564) is beyond type entryCount(171)
For resource 0x7f0700a7, entry index(167) is beyond type entryCount(166)
W/ResourceType: For resource 0x7f1101c8, entry index(456) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110208, entry index(520) is beyond type entryCount(171)
For resource 0x7f110208, entry index(520) is beyond type entryCount(171)
For resource 0x7f11020a, entry index(522) is beyond type entryCount(171)
For resource 0x7f11020e, entry index(526) is beyond type entryCount(171)
For resource 0x7f11020c, entry index(524) is beyond type entryCount(171)
For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
For resource 0x7f11021c, entry index(540) is beyond type entryCount(171)
For resource 0x7f1101f3, entry index(499) is beyond type entryCount(171)
For resource 0x7f1101f5, entry index(501) is beyond type entryCount(171)
For resource 0x7f11021a, entry index(538) is beyond type entryCount(171)
For resource 0x7f1101f6, entry index(502) is beyond type entryCount(171)
For resource 0x7f1101c7, entry index(455) is beyond type entryCount(171)
For resource 0x7f1101f7, entry index(503) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fe, entry index(510) is beyond type entryCount(171)
For resource 0x7f1101c6, entry index(454) is beyond type entryCount(171)
For resource 0x7f110220, entry index(544) is beyond type entryCount(171)
For resource 0x7f110205, entry index(517) is beyond type entryCount(171)
For resource 0x7f110206, entry index(518) is beyond type entryCount(171)
For resource 0x7f11021d, entry index(541) is beyond type entryCount(171)
For resource 0x7f11021e, entry index(542) is beyond type entryCount(171)
For resource 0x7f110175, entry index(373) is beyond type entryCount(171)
For resource 0x7f110219, entry index(537) is beyond type entryCount(171)
For resource 0x7f11021b, entry index(539) is beyond type entryCount(171)
For resource 0x7f11022c, entry index(556) is beyond type entryCount(171)
For resource 0x7f110204, entry index(516) is beyond type entryCount(171)
For resource 0x7f110202, entry index(514) is beyond type entryCount(171)
For resource 0x7f11013d, entry index(317) is beyond type entryCount(171)
For resource 0x7f110126, entry index(294) is beyond type entryCount(171)
For resource 0x7f11013d, entry index(317) is beyond type entryCount(171)
For resource 0x7f110150, entry index(336) is beyond type entryCount(171)
For resource 0x7f110139, entry index(313) is beyond type entryCount(171)
For resource 0x7f11013a, entry index(314) is beyond type entryCount(171)
For resource 0x7f110235, entry index(565) is beyond type entryCount(171)
For resource 0x7f110234, entry index(564) is beyond type entryCount(171)
For resource 0x7f0700a7, entry index(167) is beyond type entryCount(166)
W/ResourceType: For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
For resource 0x7f1100ee, entry index(238) is beyond type entryCount(171)
For resource 0x7f1100ed, entry index(237) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110208, entry index(520) is beyond type entryCount(171)
For resource 0x7f1100b0, entry index(176) is beyond type entryCount(171)
For resource 0x7f1100af, entry index(175) is beyond type entryCount(171)
I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2609)
at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:63)
at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:652)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:794)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:749)
at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:659)
at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:552)
at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:161)
at void org.covidwatch.android.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:31)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6912)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2900)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3008)
at void android.app.ActivityThread.-wrap14(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
I/art: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1650)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:154)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6688)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1468)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1358)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/org.covidwatch.tags.android-2/base.apk", zip file "/data/app/org.covidwatch.tags.android-2/split_config.en.apk", zip file "/data/app/org.covidwatch.tags.android-2/split_config.xxxhdpi.apk"],nativeLibraryDirectories=[/data/app/org.covidwatch.tags.android-2/lib/arm64, /system/lib64, /vendor/lib64]]
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2609)
at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:63)
at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:652)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:794)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:749)
at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:659)
at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:552)
at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:161)
at void org.covidwatch.android.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:31)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6912)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2900)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3008)
at void android.app.ActivityThread.-wrap14(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1650)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:154)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6688)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1468)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1358)
W/ResourceType: For resource 0x7f1101c8, entry index(456) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110143, entry index(323) is beyond type entryCount(171)
For resource 0x7f110145, entry index(325) is beyond type entryCount(171)
For resource 0x7f110234, entry index(564) is beyond type entryCount(171)
For resource 0x7f1100cc, entry index(204) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110172, entry index(370) is beyond type entryCount(171)
For resource 0x7f110173, entry index(371) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110235, entry index(565) is beyond type entryCount(171)
For resource 0x7f1100cd, entry index(205) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f1101f5, entry index(501) is beyond type entryCount(171)
For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f1101c8, entry index(456) is beyond type entryCount(171)
For resource 0x7f110147, entry index(327) is beyond type entryCount(171)
For resource 0x7f110149, entry index(329) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f1101c8, entry index(456) is beyond type entryCount(171)
For resource 0x7f110143, entry index(323) is beyond type entryCount(171)
For resource 0x7f110145, entry index(325) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110232, entry index(562) is beyond type entryCount(171)
For resource 0x7f1100ca, entry index(202) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110145, entry index(325) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f1101c8, entry index(456) is beyond type entryCount(171)
For resource 0x7f110208, entry index(520) is beyond type entryCount(171)
For resource 0x7f110208, entry index(520) is beyond type entryCount(171)
For resource 0x7f11020a, entry index(522) is beyond type entryCount(171)
For resource 0x7f11020e, entry index(526) is beyond type entryCount(171)
For resource 0x7f11020c, entry index(524) is beyond type entryCount(171)
For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
For resource 0x7f11021c, entry index(540) is beyond type entryCount(171)
For resource 0x7f1101f3, entry index(499) is beyond type entryCount(171)
For resource 0x7f1101f5, entry index(501) is beyond type entryCount(171)
For resource 0x7f11021a, entry index(538) is beyond type entryCount(171)
For resource 0x7f1101f6, entry index(502) is beyond type entryCount(171)
For resource 0x7f1101c7, entry index(455) is beyond type entryCount(171)
For resource 0x7f1101f7, entry index(503) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fb, entry index(507) is beyond type entryCount(171)
For resource 0x7f1101fe, entry index(510) is beyond type entryCount(171)
For resource 0x7f1101c6, entry index(454) is beyond type entryCount(171)
For resource 0x7f110220, entry index(544) is beyond type entryCount(171)
For resource 0x7f110205, entry index(517) is beyond type entryCount(171)
For resource 0x7f110206, entry index(518) is beyond type entryCount(171)
For resource 0x7f11021d, entry index(541) is beyond type entryCount(171)
For resource 0x7f11021e, entry index(542) is beyond type entryCount(171)
For resource 0x7f110175, entry index(373) is beyond type entryCount(171)
For resource 0x7f110219, entry index(537) is beyond type entryCount(171)
For resource 0x7f11021b, entry index(539) is beyond type entryCount(171)
For resource 0x7f11022c, entry index(556) is beyond type entryCount(171)
For resource 0x7f110204, entry index(516) is beyond type entryCount(171)
For resource 0x7f110202, entry index(514) is beyond type entryCount(171)
For resource 0x7f11013d, entry index(317) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110126, entry index(294) is beyond type entryCount(171)
For resource 0x7f11013d, entry index(317) is beyond type entryCount(171)
For resource 0x7f110150, entry index(336) is beyond type entryCount(171)
For resource 0x7f110139, entry index(313) is beyond type entryCount(171)
For resource 0x7f11013a, entry index(314) is beyond type entryCount(171)
For resource 0x7f110235, entry index(565) is beyond type entryCount(171)
For resource 0x7f110234, entry index(564) is beyond type entryCount(171)
For resource 0x7f0700a7, entry index(167) is beyond type entryCount(166)
W/ResourceType: For resource 0x7f110239, entry index(569) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f100077, entry index(119) is beyond type entryCount(117)
W/ResourceType: For resource 0x7f100078, entry index(120) is beyond type entryCount(117)
D/TextView: setTypeface with style : 0
D/TextView: setTypeface with style : 0
D/TextView: setTypeface with style : 0
setTypeface with style : 0
D/TextView: setTypeface with style : 0
D/TextView: setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
W/ResourceType: For resource 0x7f100077, entry index(119) is beyond type entryCount(117)
W/ResourceType: For resource 0x7f100078, entry index(120) is beyond type entryCount(117)
W/ResourceType: For resource 0x7f1101c8, entry index(456) is beyond type entryCount(171)
For resource 0x7f110143, entry index(323) is beyond type entryCount(171)
For resource 0x7f110145, entry index(325) is beyond type entryCount(171)
D/InputTransport: Input channel constructed: fd=78
D/ViewRootImpl@f2bfd6e[MainActivity]: setView = DecorView@e069c0f[MainActivity] touchMode=true
I/Adreno: QUALCOMM build : b3bdf5a, I86b60582e4
Build Date : 12/02/16
OpenGL ES Shader Compiler Version: XE031.09.00.03
Local Branch :
Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.5.5.R1.07.00.00.269.013
Remote Branch : NONE
Reconstruct Branch : NOTHING
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Swap behavior 1
D/libGLESv1: STS_GLApi : DTS is not allowed for Package : org.covidwatch.tags.android
W/ResourceType: For resource 0x7f1101c3, entry index(451) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110181, entry index(385) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f100076, entry index(118) is beyond type entryCount(117)
For resource 0x7f10007b, entry index(123) is beyond type entryCount(117)
D/ConnectivityManager: requestNetwork; CallingUid : 10212, CallingPid : 31192
D/TextView: setTypeface with style : 0
D/TextView: setTypeface with style : 0
D/TextView: setTypeface with style : 0
D/TextView: setTypeface with style : 0
D/ViewRootImpl@f2bfd6e[MainActivity]: MSG_RESIZED_REPORT: ci=Rect(0, 72 - 0, 846) vi=Rect(0, 72 - 0, 846) or=1
MSG_WINDOW_FOCUS_CHANGED 1
V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@9b6d385 nm : org.covidwatch.tags.android ic=null
I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
I/ContactEventsDownloadWorker: Downloading contact events
D/InputTransport: Input channel constructed: fd=91
V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@4c0ee3d nm : org.covidwatch.tags.android ic=null
D/ConnectivityManager: requestNetwork; CallingUid : 10212, CallingPid : 31192
W/DynamiteModule: Local module descriptor class for providerinstaller not found.
I/DynamiteModule: Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller: Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
D/ViewRootImpl@f2bfd6e[MainActivity]: MSG_RESIZED: ci=Rect(0, 72 - 0, 0) vi=Rect(0, 72 - 0, 0) or=1
I/art: Do partial code cache collection, code=13KB, data=26KB
After code cache collection, code=13KB, data=26KB
Increasing code cache capacity to 128KB
V/NativeCrypto: Registering com/google/android/gms/org/conscrypt/NativeCrypto's 286 native methods...
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
I/ProviderInstaller: Installed default security provider GmsCore_OpenSSL
W/art: Before Android 4.1, method double java.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
Before Android 4.1, method int java.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
Before Android 4.1, method long java.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random
D/ConnectivityManager: requestNetwork; CallingUid : 10212, CallingPid : 31192
I/art: Do partial code cache collection, code=48KB, data=61KB
I/art: After code cache collection, code=48KB, data=61KB
Increasing code cache capacity to 256KB
E/WM-WorkerWrapper: Work [ id=5bc11394-241c-4314-a302-2854fddf3ddc, tags={ org.covidwatch.android.firestore.ContactEventsDownloadWorker } ] failed because it threw an exception/error
java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.google.firebase.firestore.FirebaseFirestoreException: RESOURCE_EXHAUSTED: Quota exceeded.
at androidx.work.impl.utils.futures.AbstractFuture.getDoneValue(AbstractFuture.java:516)
at androidx.work.impl.utils.futures.AbstractFuture.get(AbstractFuture.java:475)
at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:298)
at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.util.concurrent.ExecutionException: com.google.firebase.firestore.FirebaseFirestoreException: RESOURCE_EXHAUSTED: Quota exceeded.
at com.google.android.gms.tasks.Tasks.zzb(Unknown Source)
at com.google.android.gms.tasks.Tasks.await(Unknown Source)
at org.covidwatch.android.firestore.ContactEventsDownloadWorker.doWork(ContactEventsDownloadWorker.kt:99)
at androidx.work.Worker$1.run(Worker.java:85)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)ย 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)ย 
at java.lang.Thread.run(Thread.java:761)ย 
Caused by: com.google.firebase.firestore.FirebaseFirestoreException: RESOURCE_EXHAUSTED: Quota exceeded.
at com.google.firebase.firestore.util.Util.exceptionFromStatus(com.google.firebase:firebase-firestore@@21.4.1:117)
at com.google.firebase.firestore.core.EventManager.onError(com.google.firebase:firebase-firestore@@21.4.1:166)
at com.google.firebase.firestore.core.SyncEngine.removeAndCleanupTarget(com.google.firebase:firebase-firestore@@21.4.1:519)
at com.google.firebase.firestore.core.SyncEngine.handleRejectedListen(com.google.firebase:firebase-firestore@@21.4.1:403)
at com.google.firebase.firestore.core.FirestoreClient.handleRejectedListen(com.google.firebase:firebase-firestore@@21.4.1:316)
at com.google.firebase.firestore.remote.RemoteStore.processTargetError(com.google.firebase:firebase-firestore@@21.4.1:557)
at com.google.firebase.firestore.remote.RemoteStore.handleWatchChange(com.google.firebase:firebase-firestore@@21.4.1:441)
at com.google.firebase.firestore.remote.RemoteStore.access$100(com.google.firebase:firebase-firestore@@21.4.1:53)
at com.google.firebase.firestore.remote.RemoteStore$1.onWatchChange(com.google.firebase:firebase-firestore@@21.4.1:176)
at com.google.firebase.firestore.remote.WatchStream.onNext(com.google.firebase:firebase-firestore@@21.4.1:108)
at com.google.firebase.firestore.remote.WatchStream.onNext(com.google.firebase:firebase-firestore@@21.4.1:38)
at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onNext$1(com.google.firebase:firebase-firestore@@21.4.1:119)
at com.google.firebase.firestore.remote.AbstractStream$StreamObserver$$Lambda$2.run(com.google.firebase:firebase-firestore@@21.4.1)
at com.google.firebase.firestore.remote.AbstractStream$CloseGuardedRunner.run(com.google.firebase:firebase-firestore@@21.4.1:67)
at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.onNext(com.google.firebase:firebase-firestore@@21.4.1:110)
at com.google.firebase.firestore.remote.FirestoreChannel$1.onMessage(com.google.firebase:firebase-firestore@@21.4.1:124)
at io.grpc.ForwardingClientCallListener.onMessage(ForwardingClientCallListener.java:33)
at io.grpc.ForwardingClientCallListener.onMessage(ForwardingClientCallListener.java:33)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:563)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
E/WM-WorkerWrapper: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(com.google.firebase:firebase-firestore@@21.4.1:229)
... 1 more
Caused by: io.grpc.StatusException: RESOURCE_EXHAUSTED: Quota exceeded.
at io.grpc.Status.asException(Status.java:541)
at com.google.firebase.firestore.util.Util.exceptionFromStatus(com.google.firebase:firebase-firestore@@21.4.1:115)
... 27 more
I/WM-WorkerWrapper: Worker result FAILURE for Work [ id=5bc11394-241c-4314-a302-2854fddf3ddc, tags={ org.covidwatch.android.firestore.ContactEventsDownloadWorker } ]
D/ConnectivityManager: unregisterNetworkCallback; CallingUid : 10212, CallingPid : 31192
E/ConnectivityManager.CallbackHandler: callback not found for RELEASED message
D/ViewRootImpl@f2bfd6e[MainActivity]: ViewPostImeInputStage processPointer 0
V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[])
mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease()
mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[])
mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String)
mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop()
V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@e973ce0
D/ViewRootImpl@f2bfd6e[MainActivity]: ViewPostImeInputStage processPointer 1
W/ResourceType: For resource 0x7f100076, entry index(118) is beyond type entryCount(117)
W/ResourceType: For resource 0x7f10007c, entry index(124) is beyond type entryCount(117)
D/TextView: setTypeface with style : 0
D/TextView: setTypeface with style : 0
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: isSecureModeEnabled
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothGattServer: registerCallback()
D/BluetoothGattServer: registerCallback() - UUID=a80f4f75-6cb6-4a1c-ab32-96d35cb2b083
D/BluetoothGattServer: onServerRegistered() - status=0 serverIf=6
D/BluetoothGattServer: clearServices()
D/BluetoothGattServer: addService() - service: 0000c019-0000-1000-8000-00805f9b34fb
D/BluetoothGattServer: onServiceAdded() - service=0000c019-0000-1000-8000-00805f9b34fbstatus=0
I/BluetoothLeAdvertiser: onServiceAdded status=0 service=android.bluetooth.BluetoothGattService@8edb2d3
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
isSecureModeEnabled
D/BluetoothLeAdvertiser: start advertising
D/BluetoothAdapter: STATE_ON
D/BluetoothLeAdvertiser: onClientRegistered() - status=0 clientIf=7
D/BluetoothLeAdvertiser: onMultiAdvertiseCallback status = 0 isStart = true
I/BluetoothLeAdvertiser: Started advertising
D/BluetoothLeScanner: Start Scan
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothLeScanner: onClientRegistered() - status=0 clientIf=8 mClientIf=0
I/BluetoothLeScanner: Started scan
I/Choreographer: Skipped 31 frames! The application may be doing too much work on its main thread.
W/BluetoothLeAdvertiser: onStartSuccess settingsInEffect=Settings [mAdvertiseMode=2, mAdvertiseTxPowerLevel=1, mAdvertiseConnectable=true, mAdvertiseTimeoutMillis=0]
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110127, entry index(295) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/BluetoothGattServer: onMtuChanged() - device=62:D8:86:B8:74:76, mtu=185
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onMtuChanged() - device=62:D8:86:B8:74:76, mtu=185
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
parseFromBytes
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
D/ScanRecord: first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
D/ScanRecord: parseFromBytes
parseFromBytes
first manudata for manu ID
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=57:33:8F:4B:E5:34, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 10, 28, 36, 38, -102]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-97, mTimestampNanos=636292583292052}, ScanResult{mDevice=26:25:3E:2F:EC:C5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, 60, 4, -24, -63, 15, -122, -40, 116, 9, 97, -85, -38, 79, -51, -125, -88, 49, -107, -124, 76, -40, -57, 123]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-48, mTimestampNanos=636292583292052}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-46, mTimestampNanos=636293633292052}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-95, mTimestampNanos=636293483292052}, ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-84, mTimestampNanos=636292633292052}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-86, mTimestampNanos=636292633292052}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-47, mTimestampNanos=636293583292052}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-78, mTimestampNanos=636293633292052}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-82, mTimestampNanos=636293683292052}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-80, mTimestampNanos=636293683292052}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-63, mTimestampNanos=636293533292052}]
Scan result device.address=57:33:8F:4B:E5:34 RSSI=-97 CEN=N/A
Scan result device.address=26:25:3E:2F:EC:C5 RSSI=-48 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-46 CEN=N/A
Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-95 CEN=N/A
Scan result device.address=47:B6:65:0A:43:BF RSSI=-84 CEN=N/A
I/BluetoothLeScanner: Scan result device.address=51:66:46:37:7E:F3 RSSI=-86 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-47 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-78 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-82 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-80 CEN=N/A
Scan result device.address=67:82:34:A6:E6:6C RSSI=-63 CEN=N/A
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=57:33:8F:4B:E5:34, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 10, 28, 36, 38, -102]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-97, mTimestampNanos=636292583292052}, ScanResult{mDevice=26:25:3E:2F:EC:C5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, 60, 4, -24, -63, 15, -122, -40, 116, 9, 97, -85, -38, 79, -51, -125, -88, 49, -107, -124, 76, -40, -57, 123]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-48, mTimestampNanos=636292583292052}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-46, mTimestampNanos=636293633292052}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-95, mTimestampNanos=636293483292052}, ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-84, mTimestampNanos=636292633292052}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-86, mTimestampNanos=636292633292052}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-47, mTimestampNanos=636293583292052}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-78, mTimestampNanos=636293633292052}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-82, mTimestampNanos=636293683292052}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-80, mTimestampNanos=636293683292052}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-63, mTimestampNanos=636293533292052}]
Scan result device.address=57:33:8F:4B:E5:34 RSSI=-97 CEN=N/A
I/BluetoothLeScanner: Scan result device.address=26:25:3E:2F:EC:C5 RSSI=-48 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-46 CEN=N/A
Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-95 CEN=N/A
Scan result device.address=47:B6:65:0A:43:BF RSSI=-84 CEN=N/A
Scan result device.address=51:66:46:37:7E:F3 RSSI=-86 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-47 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-78 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-82 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-80 CEN=N/A
I/BluetoothLeScanner: Scan result device.address=67:82:34:A6:E6:6C RSSI=-63 CEN=N/A
D/BluetoothGattServer: onMtuChanged() - device=62:D8:86:B8:74:76, mtu=185
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onMtuChanged() - device=62:D8:86:B8:74:76, mtu=185
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/ScanRecord: parseFromBytes
D/ScanRecord: first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=37:78:4A:55:9C:A5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, -81, 102, -28, -9, -115, -110, 71, -112, -101, -63, 6, 75, 53, 23, 68, 10, -32, 73, -6, -26, 62, -109, -31]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-57, mTimestampNanos=636294517477572}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=mini lifejacket jolt], mRssi=-92, mTimestampNanos=636294567477572}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-47, mTimestampNanos=636294567477572}, ScanResult{mDevice=78:46:47:AC:B2:B7, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 75, 28, 44, 0, 95]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-98, mTimestampNanos=636293717477572}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-46, mTimestampNanos=636294567477572}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-63, mTimestampNanos=636294367477572}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-80, mTimestampNanos=636294517477572}, ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-86, mTimestampNanos=636294567477572}, ScanResult{mDevice=57:33:8F:4B:E5:34, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 10, 28, 36, 38, -102]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-100, mTimestampNanos=636294467477572}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-47, mTimestampNanos=636294617477572}]
D/ScanRecord: same manuId data exists, combine both data and store
I/BluetoothLeScanner: Scan result device.address=37:78:4A:55:9C:A5 RSSI=-57 CEN=N/A
D/ScanRecord: parseFromBytes
first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-92 CEN=N/A
D/ScanRecord: parseFromBytes
I/BluetoothLeScanner: Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-47 CEN=N/A
D/ScanRecord: first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=78:46:47:AC:B2:B7 RSSI=-98 CEN=N/A
D/ScanRecord: parseFromBytes
I/BluetoothLeScanner: Scan result device.address=62:D8:86:B8:74:76 RSSI=-46 CEN=N/A
D/ScanRecord: first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=67:82:34:A6:E6:6C RSSI=-63 CEN=N/A
Scan result device.address=51:66:46:37:7E:F3 RSSI=-80 CEN=N/A
Scan result device.address=47:B6:65:0A:43:BF RSSI=-86 CEN=N/A
Scan result device.address=57:33:8F:4B:E5:34 RSSI=-100 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-47 CEN=N/A
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=37:78:4A:55:9C:A5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, -81, 102, -28, -9, -115, -110, 71, -112, -101, -63, 6, 75, 53, 23, 68, 10, -32, 73, -6, -26, 62, -109, -31]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-57, mTimestampNanos=636294517477572}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=mini lifejacket jolt], mRssi=-92, mTimestampNanos=636294567477572}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-47, mTimestampNanos=636294567477572}, ScanResult{mDevice=78:46:47:AC:B2:B7, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 75, 28, 44, 0, 95]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-98, mTimestampNanos=636293717477572}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-46, mTimestampNanos=636294567477572}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-63, mTimestampNanos=636294367477572}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-80, mTimestampNanos=636294517477572}, ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-86, mTimestampNanos=636294567477572}, ScanResult{mDevice=57:33:8F:4B:E5:34, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 10, 28, 36, 38, -102]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-100, mTimestampNanos=636294467477572}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-47, mTimestampNanos=636294617477572}]
Scan result device.address=37:78:4A:55:9C:A5 RSSI=-57 CEN=N/A
Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-92 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-47 CEN=N/A
Scan result device.address=78:46:47:AC:B2:B7 RSSI=-98 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-46 CEN=N/A
Scan result device.address=67:82:34:A6:E6:6C RSSI=-63 CEN=N/A
Scan result device.address=51:66:46:37:7E:F3 RSSI=-80 CEN=N/A
Scan result device.address=47:B6:65:0A:43:BF RSSI=-86 CEN=N/A
Scan result device.address=57:33:8F:4B:E5:34 RSSI=-100 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-47 CEN=N/A
D/BluetoothGattServer: onMtuChanged() - device=62:D8:86:B8:74:76, mtu=185
I/BluetoothLeAdvertiser: onCharacteristicWriteRequest result=0 device=62:D8:86:B8:74:76 requestId=2 characteristic=android.bluetooth.BluetoothGattCharacteristic@b1105d4 preparedWrite=false responseNeeded=true offset=0 value=[B@bfe437d
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onMtuChanged() - device=62:D8:86:B8:74:76, mtu=185
D/ScanRecord: parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-79, mTimestampNanos=636295096789864}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-47, mTimestampNanos=636295246789864}, ScanResult{mDevice=37:78:4A:55:9C:A5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, -81, 102, -28, -9, -115, -110, 71, -112, -101, -63, 6, 75, 53, 23, 68, 10, -32, 73, -6, -26, 62, -109, -31]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-57, mTimestampNanos=636295296789864}, ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-99, mTimestampNanos=636295096789864}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-48, mTimestampNanos=636295296789864}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-46, mTimestampNanos=636295296789864}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-65, mTimestampNanos=636295196789864}, ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-85, mTimestampNanos=636295146789864}]
Scan result device.address=51:66:46:37:7E:F3 RSSI=-79 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-47 CEN=N/A
Scan result device.address=37:78:4A:55:9C:A5 RSSI=-57 CEN=N/A
I/BluetoothLeScanner: Scan result device.address=43:2C:F0:62:A2:7B RSSI=-99 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-48 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-46 CEN=N/A
Scan result device.address=67:82:34:A6:E6:6C RSSI=-65 CEN=N/A
Scan result device.address=47:B6:65:0A:43:BF RSSI=-85 CEN=N/A
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-79, mTimestampNanos=636295096789864}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-47, mTimestampNanos=636295246789864}, ScanResult{mDevice=37:78:4A:55:9C:A5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, -81, 102, -28, -9, -115, -110, 71, -112, -101, -63, 6, 75, 53, 23, 68, 10, -32, 73, -6, -26, 62, -109, -31]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-57, mTimestampNanos=636295296789864}, ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-99, mTimestampNanos=636295096789864}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-48, mTimestampNanos=636295296789864}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=[0000c019-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-46, mTimestampNanos=636295296789864}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-65, mTimestampNanos=636295196789864}, ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-85, mTimestampNanos=636295146789864}]
Scan result device.address=51:66:46:37:7E:F3 RSSI=-79 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-47 CEN=N/A
Scan result device.address=37:78:4A:55:9C:A5 RSSI=-57 CEN=N/A
Scan result device.address=43:2C:F0:62:A2:7B RSSI=-99 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-48 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-46 CEN=N/A
Scan result device.address=67:82:34:A6:E6:6C RSSI=-65 CEN=N/A
Scan result device.address=47:B6:65:0A:43:BF RSSI=-85 CEN=N/A
I/BluetoothLeAdvertiser: onCharacteristicWriteRequest result=0 device=62:D8:86:B8:74:76 requestId=2 characteristic=android.bluetooth.BluetoothGattCharacteristic@b1105d4 preparedWrite=false responseNeeded=true offset=0 value=[B@2899c96
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onMtuChanged() - device=62:D8:86:B8:74:76, mtu=185
I/BluetoothLeScanner: onBatchScanResults results=[]
I/BluetoothLeScanner: onBatchScanResults results=[]
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
I/BluetoothLeScanner: onBatchScanResults results=[]
onBatchScanResults results=[]
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/BluetoothGattServer: onMtuChanged() - device=62:D8:86:B8:74:76, mtu=185
I/BluetoothLeAdvertiser: onCharacteristicWriteRequest result=0 device=62:D8:86:B8:74:76 requestId=2 characteristic=android.bluetooth.BluetoothGattCharacteristic@b1105d4 preparedWrite=false responseNeeded=true offset=0 value=[B@64f5188
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/TextView: setTypeface with style : 0
W/ResourceType: For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
For resource 0x7f110163, entry index(355) is beyond type entryCount(171)
D/BluetoothGattServer: onServerConnectionState() - status=0 serverIf=6 device=62:D8:86:B8:74:76
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 2, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636299022471321}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 2, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-48, mTimestampNanos=636299022471321}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-92, mTimestampNanos=636298972471321}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-79, mTimestampNanos=636299022471321}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 75, 28, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636298972471321}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-79, mTimestampNanos=636299022471321}, ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-87, mTimestampNanos=636298972471321}]
I/BluetoothLeScanner: Scan result device.address=70:5D:04:7E:F3:1E RSSI=-49 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-48 CEN=N/A
Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-92 CEN=N/A
Scan result device.address=51:66:46:37:7E:F3 RSSI=-79 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-49 CEN=N/A
Scan result device.address=51:66:46:37:7E:F3 RSSI=-79 CEN=N/A
Scan result device.address=43:2C:F0:62:A2:7B RSSI=-87 CEN=N/A
I/BluetoothLeScanner: o
nBatchScanResults results=[ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 2, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636299022471321}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 2, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-48, mTimestampNanos=636299022471321}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-92, mTimestampNanos=636298972471321}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-79, mTimestampNanos=636299022471321}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 75, 28, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636298972471321}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-79, mTimestampNanos=636299022471321}, ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-87, mTimestampNanos=636298972471321}]
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-49 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-48 CEN=N/A
Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-92 CEN=N/A
Scan result device.address=51:66:46:37:7E:F3 RSSI=-79 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-49 CEN=N/A
Scan result device.address=51:66:46:37:7E:F3 RSSI=-79 CEN=N/A
Scan result device.address=43:2C:F0:62:A2:7B RSSI=-87 CEN=N/A
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-88, mTimestampNanos=636299053792622}]
D/ScanRecord: first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=43:2C:F0:62:A2:7B RSSI=-88 CEN=N/A
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-88, mTimestampNanos=636299053792622}]
Scan result device.address=43:2C:F0:62:A2:7B RSSI=-88 CEN=N/A
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 75, 28, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636300443854080}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636300593854080}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 11, 28, 37, 61, -2, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-61, mTimestampNanos=636300493854080}, ScanResult{mDevice=78:46:47:AC:B2:B7, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 75, 28, 44, 0, 95]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-98, mTimestampNanos=636300543854080}, ScanResult{mDevice=57:33:8F:4B:E5:34, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 10, 28, 36, 38, -102]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-97, mTimestampNanos=636300493854080}, ScanResult{mDevice=37:78:4A:55:9C:A5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, -81, 102, -28, -9, -115, -110, 71, -112, -101, -63, 6, 75, 53, 23, 68, 10, -32, 73, -6, -26, 62, -109, -31]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-51, mTimestampNanos=636300493854080}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=mini lifejacket jolt], mRssi=-97, mTimestampNanos=636300593854080}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636300593854080}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-53, mTimestampNanos=636300443854080}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-81, mTimestampNanos=636300593854080}, ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-94, mTimestampNanos=636300493854080}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 2, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636300343854080}]
D/ScanRecord: parseFromBytes
D/ScanRecord: first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-49 CEN=N/A
D/ScanRecord: parseFromBytes
I/BluetoothLeScanner: Scan result device.address=70:5D:04:7E:F3:1E RSSI=-49 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-61 CEN=N/A
D/ScanRecord: parseFromBytes
I/BluetoothLeScanner: Scan result device.address=78:46:47:AC:B2:B7 RSSI=-98 CEN=N/A
D/ScanRecord: first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=57:33:8F:4B:E5:34 RSSI=-97 CEN=N/A
D/ScanRecord: parseFromBytes
I/BluetoothLeScanner: Scan result device.address=37:78:4A:55:9C:A5 RSSI=-51 CEN=N/A
D/ScanRecord: first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-97 CEN=N/A
D/ScanRecord: parseFromBytes
I/BluetoothLeScanner: Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-49 CEN=N/A
D/ScanRecord: first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=67:82:34:A6:E6:6C RSSI=-53 CEN=N/A
D/ScanRecord: same manuId data exists, combine both data and store
I/BluetoothLeScanner: Scan result device.address=51:66:46:37:7E:F3 RSSI=-81 CEN=N/A
D/ScanRecord: parseFromBytes
I/BluetoothLeScanner: Scan result device.address=43:2C:F0:62:A2:7B RSSI=-94 CEN=N/A
D/ScanRecord: first manudata for manu ID
I/BluetoothLeScanner: Scan result device.address=70:5D:04:7E:F3:1E RSSI=-49 CEN=N/A
D/ScanRecord: parseFromBytes
first manudata for manu ID
I/BluetoothLeScanner: on
BatchScanResults results=[ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 75, 28, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636300443854080}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636300593854080}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 11, 28, 37, 61, -2, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-61, mTimestampNanos=636300493854080}, ScanResult{mDevice=78:46:47:AC:B2:B7, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 75, 28, 44, 0, 95]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-98, mTimestampNanos=636300543854080}, ScanResult{mDevice=57:33:8F:4B:E5:34, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 10, 28, 36, 38, -102]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-97, mTimestampNanos=636300493854080}, ScanResult{mDevice=37:78:4A:55:9C:A5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, -81, 102, -28, -9, -115, -110, 71, -112, -101, -63, 6, 75, 53, 23, 68, 10, -32, 73, -6, -26, 62, -109, -31]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-51, mTimestampNanos=636300493854080}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=mini lifejacket jolt], mRssi=-97, mTimestampNanos=636300593854080}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636300593854080}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-53, mTimestampNanos=636300443854080}, ScanResult{mDevice=51:66:46:37:7E:F3, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 26, 28, 7, 106, -77, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=12, mDeviceName=null], mRssi=-81, mTimestampNanos=636300593854080}, ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-94, mTimestampNanos=636300493854080}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 2, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-49, mTimestampNanos=636300343854080}]
I/BluetoothLeScanner: Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-49 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-49 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-61 CEN=N/A
I/BluetoothLeScanner: Scan result device.address=78:46:47:AC:B2:B7 RSSI=-98 CEN=N/A
Scan result device.address=57:33:8F:4B:E5:34 RSSI=-97 CEN=N/A
Scan result device.address=37:78:4A:55:9C:A5 RSSI=-51 CEN=N/A
Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-97 CEN=N/A
I/BluetoothLeScanner: Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-49 CEN=N/A
Scan result device.address=67:82:34:A6:E6:6C RSSI=-53 CEN=N/A
Scan result device.address=51:66:46:37:7E:F3 RSSI=-81 CEN=N/A
Scan result device.address=43:2C:F0:62:A2:7B RSSI=-94 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-49 CEN=N/A
I/BluetoothLeScanner: onBatchScanResults results=[]
onBatchScanResults results=[]
I/BluetoothLeScanner: Restarting scan...
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothLeScanner: Stop Scan
I/BluetoothLeScanner: Stopped scan
D/BluetoothLeScanner: Start Scan
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothLeScanner: onClientRegistered() - status=0 clientIf=8 mClientIf=0
I/BluetoothLeScanner: Started scan
D/ViewRootImpl@f2bfd6e[MainActivity]: ViewPostImeInputStage processPointer 0
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
D/ScanRecord: first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
D/ScanRecord: first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
parseFromBytes
first manudata for manu ID
same manuId data exists, combine both data and store
parseFromBytes
first manudata for manu ID
parseFromBytes
parseFromBytes
first manudata for manu ID
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-81, mTimestampNanos=636303629909548}, ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-90, mTimestampNanos=636303479909548}, ScanResult{mDevice=21:9E:C9:14:42:47, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, 12, -122, 21, -123, 87, -125, 116, 3, 20, -43, 84, -16, -77, 34, -23, -86, 82, 55, 119, 88, -4, 31, -61]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-100, mTimestampNanos=636302629909548}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-46, mTimestampNanos=636303579909548}, ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-81, mTimestampNanos=636303629909548}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-44, mTimestampNanos=636303629909548}, ScanResult{mDevice=37:78:4A:55:9C:A5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, -81, 102, -28, -9, -115, -110, 71, -112, -101, -63, 6, 75, 53, 23, 68, 10, -32, 73, -6, -26, 62, -109, -31]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-53, mTimestampNanos=636303579909548}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 11, 28, 37, 61, -2, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-51, mTimestampNanos=636303579909548}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-54, mTimestampNanos=636303479909548}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=mini lifejacket jolt], mRssi=-99, mTimestampNanos=636302629909548}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-45, mTimestampNanos=636303579909548}]
I/BluetoothLeScanner: Scan result device.address=47:B6:65:0A:43:BF RSSI=-81 CEN=N/A
Scan result device.address=43:2C:F0:62:A2:7B RSSI=-90 CEN=N/A
Scan result device.address=21:9E:C9:14:42:47 RSSI=-100 CEN=N/A
I/BluetoothLeScanner: Scan result device.address=70:5D:04:7E:F3:1E RSSI=-46 CEN=N/A
Scan result device.address=47:B6:65:0A:43:BF RSSI=-81 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-44 CEN=N/A
Scan result device.address=37:78:4A:55:9C:A5 RSSI=-53 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-51 CEN=N/A
Scan result device.address=67:82:34:A6:E6:6C RSSI=-54 CEN=N/A
Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-99 CEN=N/A
Scan result device.address=F4:5C:
89:C6:3D:CE R
SSI=-45 CEN=N/A
I/BluetoothLeScanner: onBatchScanResults results=[ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-81, mTimestampNanos=636303629909548}, ScanResult{mDevice=43:2C:F0:62:A2:7B, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 71, 28, -31, 56, -116]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-90, mTimestampNanos=636303479909548}, ScanResult{mDevice=21:9E:C9:14:42:47, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, 12, -122, 21, -123, 87, -125, 116, 3, 20, -43, 84, -16, -77, 34, -23, -86, 82, 55, 119, 88, -4, 31, -61]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-100, mTimestampNanos=636302629909548}, ScanResult{mDevice=70:5D:04:7E:F3:1E, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[15, 5, -96, 51, 98, 90, 118]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-46, mTimestampNanos=636303579909548}, ScanResult{mDevice=47:B6:65:0A:43:BF, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 58, 28, -124, 81, -56]}, mServiceData={}, mTxPowerLevel=7, mDeviceName=null], mRssi=-81, mTimestampNanos=636303629909548}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-44, mTimestampNanos=636303629909548}, ScanResult{mDevice=37:78:4A:55:9C:A5, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={6=[1, 9, 32, 2, -81, 102, -28, -9, -115, -110, 71, -112, -101, -63, 6, 75, 53, 23, 68, 10, -32, 73, -6, -26, 62, -109, -31]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-53, mTimestampNanos=636303579909548}, ScanResult{mDevice=62:D8:86:B8:74:76, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 11, 28, 37, 61, -2, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-51, mTimestampNanos=636303579909548}, ScanResult{mDevice=67:82:34:A6:E6:6C, mScanRecord=ScanRecord [mAdvertiseFlags=26, mServiceUuids=null, mManufacturerSpecificData={76=[16, 5, 1, 24, -25, -121, 118]}, mServiceData={}, mTxPowerLevel=24, mDeviceName=null], mRssi=-54, mTimestampNanos=636303479909548}, ScanResult{mDevice=FC:58:FA:A1:DF:BD, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=[0000180f-0000-1000-8000-00805f9b34fb], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=mini lifejacket jolt], mRssi=-99, mTimestampNanos=636302629909548}, ScanResult{mDevice=F4:5C:89:C6:3D:CE, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[16, 2, 75, 12]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-45, mTimestampNanos=636303579909548}]
Scan result device.address=47:B6:65:0A:43:BF RSSI=-81 CEN=N/A
Scan result device.address=43:2C:F0:62:A2:7B RSSI=-90 CEN=N/A
Scan result device.address=21:9E:C9:14:42:47 RSSI=-100 CEN=N/A
Scan result device.address=70:5D:04:7E:F3:1E RSSI=-46 CEN=N/A
Scan result device.address=47:B6:65:0A:43:BF RSSI=-81 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-44 CEN=N/A
Scan result device.address=37:78:4A:55:9C:A5 RSSI=-53 CEN=N/A
Scan result device.address=62:D8:86:B8:74:76 RSSI=-51 CEN=N/A
Scan result device.address=67:82:34:A6:E6:6C RSSI=-54 CEN=N/A
Scan result device.address=FC:58:FA:A1:DF:BD RSSI=-99 CEN=N/A
Scan result device.address=F4:5C:89:C6:3D:CE RSSI=-45 CEN=N/A
D/ViewRootImpl@f2bfd6e[MainActivity]: ViewPostImeInputStage processPointer 1
W/ResourceType: For resource 0x7f100076, entry index(118) is beyond type entryCount(117)
W/ResourceType: For resource 0x7f10007b, entry index(123) is beyond type entryCount(117)
D/TextView: setTypeface with style : 0
D/TextView: setTypeface with style : 0
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothLeAdvertiser: stop advertising
D/BluetoothLeAdvertiser: onMultiAdvertiseCallback status = 0 isStart = false
D/BluetoothGattServer: clearServices()
D/BluetoothGattServer: close()
D/BluetoothGattServer: unregisterCallback() - mServerIf=6
I/BluetoothLeAdvertiser: Stopped advertising
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothLeScanner: Stop Scan
I/BluetoothLeScanner: Stopped scan

Error messages opening Android Studio project

When I open the covidwatch-android repository as project in Android Studio, I get the following error messages in the Android Studio:

13.04.20
12:48 Load Settings
Cannot load settings from file '/home/kai/Projects/covid-watch/covidwatch-android/app/Github-covidwatch-android-app.iml': File /home/kai/Projects/covid-watch/covidwatch-android/app/Github-covidwatch-android-app.iml does not exist
Please correct the file content
12:48 Load Settings
Cannot load settings from file '/home/kai/Projects/covid-watch/covidwatch-android/Github-covidwatch-android-COVIDWatch.iml': File /home/kai/Projects/covid-watch/covidwatch-android/Github-covidwatch-android-COVIDWatch.iml does not exist
Please correct the file content
12:48 Load Settings
Cannot load settings from file '/home/kai/Projects/covid-watch/covidwatch-android/.idea/CovidWatch.iml': File /home/kai/Projects/covid-watch/covidwatch-android/.idea/CovidWatch.iml does not exist
Please correct the file content
12:48 Load Settings
Cannot load settings from file '/home/kai/Projects/covid-watch/covidwatch-android/COVIDWatch.iml': File /home/kai/Projects/covid-watch/covidwatch-android/COVIDWatch.iml does not exist
Please correct the file content
12:48 Load Settings
Cannot load settings from file '/home/kai/Projects/covid-watch/covidwatch-android/covidwatch-android-COVIDWatch.iml': File /home/kai/Projects/covid-watch/covidwatch-android/covidwatch-android-COVIDWatch.iml does not exist
Please correct the file content
12:48 Load Settings
Cannot load settings from file '/home/kai/Projects/covid-watch/covidwatch-android/app/covidwatch-android-app.iml': File /home/kai/Projects/covid-watch/covidwatch-android/app/covidwatch-android-app.iml does not exist
Please correct the file content
12:48 Load Settings
Cannot load settings from file '/home/kai/Projects/covid-watch/covidwatch-android/app/app.iml': File /home/kai/Projects/covid-watch/covidwatch-android/app/app.iml does not exist
Please correct the file content
12:48 Gradle sync started
12:49 * daemon not running; starting now at tcp:5037
12:49 * daemon started successfully
12:49 Unsupported Modules Detected: Compilation is not supported for following modules: COVIDWatch, CovidWatch, Github-covidwatch-android-app, Github-covidwatch-android-COVIDWatch, covidwatch-android-app, covidwatch-android-COVIDWatch, app. Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules in one project.
12:49 Gradle sync finished in 10 s 8 ms (from cached state)

Abstract backend access

Description: Enable abstraction of the backend and allow alternative implementation (avoiding firebase).
Branch: 51_abstract_backend_access
Design outline

  • Hide the current backend access behind a simple interface
  • Let the current firebase backend implement this interface

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.