covidwatchorg / covidwatch-android-tcn Goto Github PK
View Code? Open in Web Editor NEWCovid Watch Android TCN app
License: Apache License 2.0
Covid Watch Android TCN app
License: Apache License 2.0
Working on it!
Create the "Test" screen from v1.6 of the design:
https://www.figma.com/file/0qkRp3TrKBRnpEnmQeA5m4/Covid-Watch---App-v1.6?node-id=1%3A102
It has many use cases (positive/negative/etc) - check all scenarios.
This issue is a child of #23
Check if notifications of positive contacts are received even if app is not running
Add parts of the design that reflect the use case after some you had contact with has marked his/herself as positive.
Add banners for no Bluetooth on/interacted with someone infected/reported
Please do this in the libcen
branch
At least for the purposes of the MVP presentation to officials we need to ensure the following scenario works reliably:
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).
Self report datepicker prevent users from choosing future dates
Please do this in the libcen-and-ux
branch
Add the new app logo from https://www.dropbox.com/sh/rbty2an2zid6fla/AABkal72BP_dY3b7RF8m7TJra?dl=0
Replace logo placeholders
I can see in the code it's only uploading the UUID and timestamp .
So in case MOH need to talk to UUID owners , how they will match the UUIDs with owners ?
...a dev version would be fine too.
We can throw up a basic UI skeleton screen for now before UI/UX confirms mid week the final design
Currently we have the OnboardingFragment which is not part of the design anymore. Also there are some minor issues with the rest of the screens (sizes, titles, etc)
Current design v1.7: https://www.figma.com/file/Gjdy62Pi2wctPPhdenqF36/Covid-Watch---App-v1.7?node-id=0%3A1
Connected to #18, notify a user that they might need to quarantine
Firebase downloads are scheduled in the CovidWatchApplication.kt file but only seem to be downloading once at app load/significantly less frequently.
Add a button in the app bar which opens a menu with the items from the design: https://www.figma.com/file/0qkRp3TrKBRnpEnmQeA5m4/Covid-Watch---App-v1.6?node-id=36%3A394
It's OK for the items to not work for now.
This should happen in MainActivity so the menu is present on every screen. Use navigation drawer from Material Design. In our design the menu is on the right but in Material Design it's on the left so it's OK to be there until we discuss it with the designer.
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.
If someone happens to turn off Bluetooth, even if they're not using app, notify them after some time to turn back on
When a user indicates they have COVID symptoms, we can pull from the server.
This is done in this repo, need to wire to the UX wireframe
Crashing experienced after running app for a long time on my LGV30. Repeatable crash.
Hardware: LG-US998
Android Version: 8.0.0
Debug log:
Crash Log LGV30.txt
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:
Next:
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.
Please use the libcen
branch
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!?
Rn pretty sure notifications will only fire off with BLE
Remember to do this
'.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.
CowidWatch
folder and make it the root of this repositoryChild of #23, look there for Figma
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()
Because we publish an app related to COVID-19 we need to upload documents the prove our eligibility.
https://support.google.com/googleplay/android-developer/contact/adv_note
Here is a useful twitter thread on this topic:
https://twitter.com/hoitab/status/1247822562333261824
Child of #23, look there for Figma
Only ask for Location Services once this screen is pressed
Update MainFragment to reflect Home screen from the design: https://www.figma.com/file/0qkRp3TrKBRnpEnmQeA5m4/Covid-Watch---App-v1.6?node-id=36%3A394
We are in a hurry for an MVP so focus on just getting the basic look without the messages at the top for now.
Child of #23
When we confirm self report, submit the metadata to the backend.
With what's currently implemented, that just means using BLE's code which connects to Firebase
Commenting out for emualtors
In testing app, refresh more constantly for updates from Firebase.
In prod we can just use the 15 minute minimum for periodic tasks
Current link is here: https://www.figma.com/file/0qkRp3TrKBRnpEnmQeA5m4/Covid-Watch---App-v1.6?node-id=0%3A1
Child of #23, look there for designs
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
Move code in libcontactrace
module to a separate repo.
org.covidwatch.contactracing
package for the librarylibcontactrace
moduledevelop
branch in the contact-tracing-bluetooth-kotlin
repolibcontactrace
modulecontact-tracing-bluetooth-kotlin
library using https://jitpack.io/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)
Replace the old "Tags" launcher icon with the new Covid Watch icon: https://www.dropbox.com/sh/rbty2an2zid6fla/AABkal72BP_dY3b7RF8m7TJra?dl=0
Preferably continue support for Adaptive Icons: https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive
Currently notifications are very basic - make them prettier and with better texts
Will help long term for internationalizing app
Please do this in the libcen-and-ux
branch
Description: Enable abstraction of the backend and allow alternative implementation (avoiding firebase).
Branch: 51_abstract_backend_access
Design outline
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.