Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not able to turn Vibrations off #2430

Closed
bernikr opened this issue Apr 4, 2022 · 12 comments
Closed

Not able to turn Vibrations off #2430

bernikr opened this issue Apr 4, 2022 · 12 comments
Labels
bug Something isn't working webview

Comments

@bernikr
Copy link

bernikr commented Apr 4, 2022

Home Assistant Android version:

2022.3.0-full

Android version:

10

Phone model:

Huawei Mate 20 (HMA-L29)

Home Assistant version:

2022.3.8

Last working Home Assistant release (if known):

Description of problem:

I noticed this problem first with the Lovelace Mushroom Cards, which uses the
custom-card-helpers library. This in turn triggers vibrations with an haptic event on the window node and the success type.

If the vibrations are activated in the profile these haptics will register as two very short bursts of vibrations, indicating that it is dispatched directly by the frontend through the navigator.vibrate function.

If, however vibrations are turned off in the profile OR the do not disturb mode is activated the vibration still exists and is even longer and stronger. Because it is around half a second, I assume the responsible code is the one in the processHaptics function in the web view activity.

Traceback (if applicable, to get the logs you may refer to: https://companion.home-assistant.io/docs/troubleshooting/faqs/#android-crash-logs):


Screenshot of problem:

Additional information:

@dshokouhi
Copy link
Member

Please reproduce the issue and get us the companion app logs so we can see what's going on here. We have a few debug statements for haptic, the app should be responding to the frontend messages. I would also double check this issue in chrome for Android to see if you can reproduce there.

@bernikr
Copy link
Author

bernikr commented Apr 5, 2022

here is the log of the following actions:

  • I opened the app, with vibrations turned on.
  • Triggered the normal expected vibration
  • Turned on Do-Not-Disturb
  • Triggered the strange vibration

I also checked the web app in chrome. There it behaves as expected: With vibrations turned on I get two short vibrations, with vibrations turned off I don't get any vibrations (same for do-not-distrub).

--------- beginning of system
04-05 08:50:58.289 14776 14776 I ViewRootImpl: dispatchDetachedFromWindow in doDie
04-05 08:51:02.012 14776 14776 I ViewRootImpl: dispatchDetachedFromWindow in doDie
--------- beginning of main
04-05 08:54:15.835 14776 14830 I ConnectivityManager: requestNetwork and the calling app is: io.homeassistant.companion.android
04-05 08:54:15.891 14776 14824 I WM-Processor: Moving WorkSpec (aac0e01c-33ac-4168-8a74-836371ce988b) to the foreground
04-05 08:54:15.899 14776 14776 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
04-05 08:54:21.153 14776 14776 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 08:54:21.156 14776 14776 W InputMethodManager: startInputReason = 1
04-05 08:54:22.743 14776 14776 E mpanion.androi: No package ID ff found for ID 0xffffffff.
04-05 08:54:22.743 14776 14776 I Resource: printErrorResource, maybe not an error because module has entative action to load resource.
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/system/framework/framework-res.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/system/framework/framework-res-hwext.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GmsConfigOverlay.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GmsGsaConfigOverlay.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GoogleExtServicesConfigOverlay.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GoogleModuleMetadataConfigOverlay.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GooglePermissionControllerConfigOverlay.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/hw_product/overlay/frameworkResOverlay.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/base.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.arm64_v8a.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.de.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.en.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.xxhdpi.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/base.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_config.de.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_config.en.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_weblayer.apk}
04-05 08:54:22.743 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.trichromelibrary_484408833-MpFTOIy5MyIOsKDtTR2rSw==/base.apk}
04-05 08:54:24.298 14776 14877 W libEGL  : EGLNativeWindowType 0x6faed51d50 disconnect failed
04-05 08:54:25.161 14776 14776 I ViewRootImpl: dispatchDetachedFromWindow in doDie
04-05 08:54:25.246 14776 14776 I ViewRootImpl: dispatchDetachedFromWindow in doDie
04-05 08:54:26.850 14776 14776 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@affc2d1
04-05 08:54:26.906 14776 14776 I DecorView[]:  old windowMode:0 new windoMode:1
04-05 08:54:26.914 14776 14776 I DecorView[]:  old windowMode:1 new windoMode:1
04-05 08:54:26.970 14776 14776 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 08:54:26.988 14776 14776 W InputMethodManager: startInputReason = 1
04-05 08:54:26.990 14776 14776 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@c1ab65c
04-05 08:54:27.042 14776 14776 I DecorView[]:  old windowMode:0 new windoMode:1
04-05 08:54:27.200 14776 14776 I System.out: recordForce value 6
04-05 08:54:27.254 14776 14776 I NotificationManager: io.homeassistant.companion.android: cancel(-410513429)
04-05 08:54:27.256 14776 14776 I DecorView[]:  old windowMode:1 new windoMode:1
04-05 08:54:27.329 14776 14877 W libEGL  : EGLNativeWindowType 0x6faed51d50 disconnect failed
04-05 08:54:27.332 14776 14776 W InputMethodManager: startInputReason = 1
04-05 08:54:27.336 14776 14830 I WM-Processor: Moving WorkSpec (52574a13-edc5-462f-a645-d9db29629e29) to the foreground
04-05 08:54:27.345 14776 14776 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
04-05 08:54:27.364 14776 14776 I ViewRootImpl: dispatchDetachedFromWindow in doDie
04-05 08:54:27.449 14776 14824 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=52574a13-edc5-462f-a645-d9db29629e29, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
04-05 08:54:27.456 14776 14776 I NotificationManager: io.homeassistant.companion.android: cancel(42)
04-05 08:54:28.015 14776 18024 I WebViewPresenterImpl: Found color -16537100.
04-05 08:54:28.015 14776 25273 I WebViewPresenterImpl: Found color -328966.
04-05 08:54:28.022 14776 14776 I DecorView[]:  old windowMode:1 new windoMode:1
04-05 08:54:28.436 14776 25273 I WebViewPresenterImpl: Found color -16537100.
04-05 08:54:28.437 14776 25273 I WebViewPresenterImpl: Found color -328966.
04-05 08:54:34.091 14776 14776 W Settings: Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
04-05 08:54:34.177 14776 14776 W InputMethodManager: startInputReason = 4
04-05 08:54:34.472 14776 14776 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 08:54:49.199 14776 14776 I InputTransport: Fun_filterMotionEvent reportMoveEvent!
04-05 08:54:49.230 14776 14776 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:10.7100525, limit is:60The moving distance of Y is:92.69531, limit is:60
04-05 08:54:58.197 14776 14776 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@728ad70
04-05 08:54:58.205 14776 14776 I DecorView[]:  old windowMode:0 new windoMode:1
04-05 08:54:58.274 14776 14776 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 08:54:58.305 14776 14776 W InputMethodManager: startInputReason = 1
04-05 08:54:58.309 14776 14820 I WM-Processor: Moving WorkSpec (d83c612e-0ba5-4fb3-9713-c0efb32d503b) to the foreground
04-05 08:54:58.320 14776 14776 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
04-05 08:54:58.417 14776 14810 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=d83c612e-0ba5-4fb3-9713-c0efb32d503b, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
04-05 08:54:58.419 14776 14776 I NotificationManager: io.homeassistant.companion.android: cancel(42)
04-05 08:54:58.646 14776 14877 W libEGL  : EGLNativeWindowType 0x720471f110 disconnect failed
04-05 08:54:59.239 14776 14776 W Settings: Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
04-05 08:54:59.289 14776 14776 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:22.865479, limit is:60The moving distance of Y is:115.0271, limit is:60
04-05 08:54:59.305 14776 14776 I HwViewGroupImpl: accelerateSliding accelerate sliding.. mTriggeredMoveCount = 2
04-05 08:54:59.963 14776 14776 I InputTransport: Fun_filterMotionEvent reportMoveEvent!
04-05 08:54:59.970 14776 14776 I HwViewGroupImpl: accelerateSliding accelerate sliding.. mTriggeredMoveCount = 2
04-05 08:54:59.986 14776 14776 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:11.4729, limit is:60The moving distance of Y is:150.67505, limit is:60
04-05 08:55:00.700 14776 14776 I HwViewGroupImpl: accelerateSliding accelerate sliding.. mTriggeredMoveCount = 1
04-05 08:55:00.717 14776 14776 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:18.5531, limit is:60The moving distance of Y is:186.54199, limit is:60
04-05 08:55:02.462 14776 14776 E mpanion.androi: Invalid ID 0x00000000.
04-05 08:55:02.462 14776 14776 I Resource: printErrorResource, maybe not an error because module has entative action to load resource.
04-05 08:55:02.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/system/framework/framework-res.apk}
04-05 08:55:02.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/system/framework/framework-res-hwext.apk}
04-05 08:55:02.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GmsConfigOverlay.apk}
04-05 08:55:02.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GmsGsaConfigOverlay.apk}
04-05 08:55:02.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GoogleExtServicesConfigOverlay.apk}
04-05 08:55:02.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GoogleModuleMetadataConfigOverlay.apk}
04-05 08:55:02.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GooglePermissionControllerConfigOverlay.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/hw_product/overlay/frameworkResOverlay.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/base.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.arm64_v8a.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.de.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.en.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.xxhdpi.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/base.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_config.de.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_config.en.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_weblayer.apk}
04-05 08:55:02.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.trichromelibrary_484408833-MpFTOIy5MyIOsKDtTR2rSw==/base.apk}
04-05 08:55:02.499 14776 14776 I DecorView[]:  old windowMode:0 new windoMode:1
04-05 08:55:02.561 14776 14776 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 08:55:02.596 14776 14877 W libEGL  : EGLNativeWindowType 0x72d23ee0d0 disconnect failed
04-05 08:55:03.474 14776 14776 W Settings: Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
04-05 08:55:03.575 14776 14776 I ViewRootImpl: dispatchDetachedFromWindow in doDie
04-05 08:55:03.584 14776 14877 W libEGL  : EGLNativeWindowType 0x72d23ed6d0 disconnect failed
04-05 08:55:05.683 14776 14776 I HwViewGroupImpl: accelerateSliding accelerate sliding.. mTriggeredMoveCount = 1
04-05 08:55:05.698 14776 14776 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:39.055603, limit is:60The moving distance of Y is:136.72656, limit is:60
04-05 08:55:06.462 14776 14776 E mpanion.androi: Invalid ID 0x00000000.
04-05 08:55:06.462 14776 14776 I Resource: printErrorResource, maybe not an error because module has entative action to load resource.
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/system/framework/framework-res.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/system/framework/framework-res-hwext.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GmsConfigOverlay.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GmsGsaConfigOverlay.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GoogleExtServicesConfigOverlay.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GoogleModuleMetadataConfigOverlay.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GooglePermissionControllerConfigOverlay.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/hw_product/overlay/frameworkResOverlay.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/base.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.arm64_v8a.apk}
04-05 08:55:06.462 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.de.apk}
04-05 08:55:06.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.en.apk}
04-05 08:55:06.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-0qeuLqHwvwT0BcO3unDPeA==/split_config.xxhdpi.apk}
04-05 08:55:06.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/base.apk}
04-05 08:55:06.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_config.de.apk}
04-05 08:55:06.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_config.en.apk}
04-05 08:55:06.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-CPvBAl0EenbI_gj-q8F0gg==/split_weblayer.apk}
04-05 08:55:06.463 14776 14776 I Resources_debug: The apk asset path = ApkAssets{path=/data/app/com.google.android.trichromelibrary_484408833-MpFTOIy5MyIOsKDtTR2rSw==/base.apk}
04-05 08:55:06.512 14776 14776 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time

@dshokouhi
Copy link
Member

This is very strange I do not see any of the log messages I expect to see where the app processes the haptic feedback. At a minimum we should expect to see:

https://github.com/home-assistant/android/blob/master/app/src/main/java/io/homeassistant/companion/android/webview/WebViewActivity.kt#L865

Once for each haptic event and I do not see any. I do not even see when you went into settings to grab the logs and we should expect to see that too. I tested this myself by simply enabling vibration in my user profile and I immediately see the log line for when its enabled so something is not right here.

Are you certain these are the full logs? I am surprised to not even see the part where you went into settings to grab the logs.

If we dont see these log messages then the vibrations are not something the app is triggering.

@Eivind-V
Copy link

Eivind-V commented Apr 5, 2022

I have the same problem aswell.
piitaya/lovelace-mushroom#93

Home Assistant Android version:
2022.3.0-full

Android version:
10

Phone model:
Huawei P20 Pro (CLT-L29)

Home Assistant version:
2022.3.8

Here is the log of the following actions:

  • I opened the app, went into settings and turned vibrations on.

  • Triggered the normal expected vibration

  • Went into settings and turned vibrations off.

  • Triggered the strange vibration

--------- beginning of main
04-05 21:44:49.524 23271 23271 I mpanion.androi: Reinit property: dalvik.vm.checkjni= false
04-05 21:44:49.525 23271 23271 E mpanion.androi: Not starting debugger since process cannot load the jdwp agent.
04-05 21:44:49.530 23271 23271 W re-initialized>: type=1400 audit(0.0:9639857): avc: denied { read } for pid=23271 name="u:object_r:mmi_prop:s0" dev="tmpfs" ino=16750 scontext=u:r:untrusted_app:s0:c54,c257,c512,c768 tcontext=u:object_r:mmi_prop:s0 tclass=file permissive=0
04-05 21:44:49.537 23271 23271 E libc    : Access denied finding property "runtime.mmitest.isrunning"
--------- beginning of system
04-05 21:44:49.538 23271 23271 D ActivityThread: Attach thread to application
04-05 21:44:49.580 23271 23271 W mpanion.androi: JIT profile information will not be recorded: profile file does not exits.
04-05 21:44:49.580 23271 23271 I chatty  : uid=10310(io.homeassistant.companion.android) identical 22 lines
04-05 21:44:49.584 23271 23289 I chatty  : uid=10310(io.homeassistant.companion.android) expire 3 lines
04-05 21:44:49.585 23271 23298 I chatty  : uid=10310(io.homeassistant.companion.android) expire 6 lines
04-05 21:44:49.616 23271 23300 I chatty  : uid=10310(io.homeassistant.companion.android) expire 1 line
04-05 21:44:49.622 23271 23307 I chatty  : uid=10310(io.homeassistant.companion.android) expire 10 lines
04-05 21:44:49.659 23271 23319 I chatty  : uid=10310(io.homeassistant.companion.android) expire 1 line
04-05 21:44:49.670 23271 23271 V ActivityThread: callActivityOnCreate
04-05 21:44:49.724 23271 23330 I chatty  : uid=10310(io.homeassistant.companion.android) expire 4 lines
04-05 21:44:49.765 23271 23271 I chatty  : uid=10310(io.homeassistant.companion.android) expire 19 lines
04-05 21:44:49.792 23271 23271 D ActivityThread: add activity client record, r= ActivityRecord{d3ba2f token=android.os.BinderProxy@c9039ad {io.homeassistant.companion.android/io.homeassistant.companion.android.launch.LaunchActivity}} token= android.os.BinderProxy@c9039ad
04-05 21:44:49.831 23271 23309 I chatty  : uid=10310(io.homeassistant.companion.android) WM.task-1 expire 2 lines
04-05 21:44:49.837 23271 23348 I chatty  : uid=10310(io.homeassistant.companion.android) expire 1 line
04-05 21:44:49.853 23271 23315 I chatty  : uid=10310(io.homeassistant.companion.android) WM.task-2 expire 1 line
04-05 21:44:49.857 23271 23325 I chatty  : uid=10310(io.homeassistant.companion.android) RenderThread expire 6 lines
04-05 21:44:49.933 23271 23313 I chatty  : uid=10310(io.homeassistant.companion.android) DefaultDispatch expire 2 lines
04-05 21:44:49.977 23271 23271 V ActivityThread: callActivityOnCreate
04-05 21:44:49.980 23271 23312 I chatty  : uid=10310(io.homeassistant.companion.android) DefaultDispatch expire 6 lines
04-05 21:44:50.088 23271 23311 I chatty  : uid=10310(io.homeassistant.companion.android) DefaultDispatch expire 1 line
04-05 21:44:50.127 23271 23449 I chatty  : uid=10310(io.homeassistant.companion.android) expire 2 lines
04-05 21:44:50.129 23271 23390 I chatty  : uid=10310(io.homeassistant.companion.android) 100.11:8123/... expire 2 lines
04-05 21:44:50.166 23271 23271 I chatty  : uid=10310(io.homeassistant.companion.android) expire 4 lines
04-05 21:44:50.175 23271 23390 I chatty  : uid=10310(io.homeassistant.companion.android) 100.11:8123/... expire 2 lines
04-05 21:44:50.176 23271 23311 I chatty  : uid=10310(io.homeassistant.companion.android) DefaultDispatch expire 2 lines
04-05 21:44:50.222 23271 23271 D ActivityThread: add activity client record, r= ActivityRecord{665baf2 token=android.os.BinderProxy@f284e4c {io.homeassistant.companion.android/io.homeassistant.companion.android.webview.WebViewActivity}} token= android.os.BinderProxy@f284e4c
04-05 21:44:50.224 23271 23390 I chatty  : uid=10310(io.homeassistant.companion.android) 100.11:8123/... expire 1 line
04-05 21:44:50.224 23271 23313 I chatty  : uid=10310(io.homeassistant.companion.android) DefaultDispatch expire 2 lines
04-05 21:44:50.228 23271 23311 I chatty  : uid=10310(io.homeassistant.companion.android) DefaultDispatch expire 1 line
04-05 21:44:50.234 23271 23427 I chatty  : uid=10310(io.homeassistant.companion.android) AudioThread expire 1 line
04-05 21:44:50.269 23271 23390 I chatty  : uid=10310(io.homeassistant.companion.android) 100.11:8123/... expire 2 lines
04-05 21:44:50.274 23271 23312 I chatty  : uid=10310(io.homeassistant.companion.android) DefaultDispatch expire 1 line
04-05 21:44:50.276 23271 23312 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.285 23271 23312 E SensorReceiver: Issue registering sensor: is_charging
04-05 21:44:50.285 23271 23312 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.285 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.287 23271 23312 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.321 23271 23489 D HiTouch_PressGestureDetector: onAttached, package=io.homeassistant.companion.android, windowType=1, mHiTouchRestricted=false
04-05 21:44:50.335 23271 23325 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
04-05 21:44:50.378 23271 23271 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
04-05 21:44:50.384 23271 23312 E SensorReceiver: Issue registering sensor: charger_type
04-05 21:44:50.384 23271 23312 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.384 23271 23312 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.386 23271 23312 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.409 23271 23271 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.409 23271 23271 D UrlRepository: Using external URL
04-05 21:44:50.409 23271 23312 D SensorWorker: Updating all Sensors.
04-05 21:44:50.410 23271 23309 I WM-Processor: Moving WorkSpec (1519d174-bb03-41bc-8a17-58ddcc01bfdd) to the foreground
04-05 21:44:50.422 23271 23325 W libEGL  : EGLNativeWindowType 0x70b901d6d0 disconnect failed
04-05 21:44:50.427 23271 23271 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
04-05 21:44:50.440 23271 23271 D ActivityThread: Remove activity client record, r= ActivityRecord{d3ba2f token=android.os.BinderProxy@c9039ad {io.homeassistant.companion.android/io.homeassistant.companion.android.launch.LaunchActivity}} token= android.os.BinderProxy@c9039ad
04-05 21:44:50.461 23271 23313 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.476 23271 23313 E SensorReceiver: Issue registering sensor: battery_health
04-05 21:44:50.476 23271 23313 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.476 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.479 23271 23313 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.484 23271 23313 E SensorReceiver: Issue registering sensor: battery_level
04-05 21:44:50.484 23271 23313 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.484 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.486 23271 23313 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.488 23271 23313 E SensorReceiver: Issue registering sensor: battery_temperature
04-05 21:44:50.488 23271 23313 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.488 23271 23313 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.492 23271 23375 E SensorReceiver: Issue registering sensor: battery_state
04-05 21:44:50.492 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.492 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.494 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.502 23271 23375 E SensorReceiver: Issue registering sensor: is_charging
04-05 21:44:50.502 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.502 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.504 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.511 23271 23375 E SensorReceiver: Issue registering sensor: charger_type
04-05 21:44:50.511 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.511 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.515 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.525 23271 23375 E SensorReceiver: Issue registering sensor: battery_health
04-05 21:44:50.525 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.525 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.527 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.532 23271 23375 E SensorReceiver: Issue registering sensor: battery_temperature
04-05 21:44:50.532 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:44:50.532 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:44:50.567 23271 23499 D WebviewActivity: External bus {"type":"config/get","id":1}
04-05 21:44:50.568 23271 23271 D WebviewActivity: externalBus({"id":1,"type":"result","success":true,"result":{"hasSettingsScreen":true,"canWriteTag":true,"hasExoPlayer":true}});
04-05 21:44:50.575 23271 23271 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:44:50.575 23271 23271 D UrlRepository: Using external URL
04-05 21:44:50.577 23271 23271 D WebviewActivity: Callback null
04-05 21:44:50.578 23271 23271 E WebviewActivity: Cannot set status bar color 0. Skipping coloring...
04-05 21:44:50.578 23271 23271 E WebviewActivity: Cannot set navigation bar color 0. Skipping coloring...
04-05 21:44:50.612 23271 23313 D SensorReceiver: Nothing to update
04-05 21:44:50.629 23271 23375 D SensorReceiver: Nothing to update
04-05 21:44:50.630 23271 23315 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=1519d174-bb03-41bc-8a17-58ddcc01bfdd, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
04-05 21:44:50.880 23271 23499 D WebviewActivity: External bus {"type":"connection-status","payload":{"event":"connected"},"id":2}
04-05 21:44:51.333 23271 23499 D WebviewActivity: External bus {"type":"theme-update","id":3}
04-05 21:44:51.342 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:44:51.342 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:44:51.342 23271 23375 D WebViewPresenterImpl: Try getting color from webview color "#101e24".
04-05 21:44:51.342 23271 23375 I WebViewPresenterImpl: Found color -15720924.
04-05 21:44:51.342 23271 23375 D WebViewPresenterImpl: Try getting color from webview color "#111111".
04-05 21:44:51.342 23271 23375 I WebViewPresenterImpl: Found color -15658735.
04-05 21:44:51.598 23271 23271 E WebviewActivity: onReceivedHttpError: android.webkit.WebResourceResponse@fbd325d
04-05 21:44:51.709 23271 23283 I mpanion.androi: Background concurrent copying GC freed 298282(18MB) AllocSpace objects, 64(2176KB) LOS objects, 49% free, 15MB/30MB, paused 134us total 186.073ms
04-05 21:44:54.613 23271 23271 D AwareBitmapCacher: handleInit switch not opened pid=23271
04-05 21:44:55.128 23271 23271 W Settings: Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
04-05 21:44:55.128 23271 23271 V HiTouch_HiTouchSensor: User setup is finished.
04-05 21:44:58.136 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:20.051392, limit is:60The moving distance of Y is:114.00647, limit is:60
04-05 21:45:20.014 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:45:20.015 23271 23375 D WebSocketRepository: Sending message 2: {type=ping, id=2}
04-05 21:45:20.016 23271 23375 D WebSocketRepository: Message number 2 sent
04-05 21:45:20.071 23271 23390 D WebSocketRepository: Websocket: onMessage (text)
04-05 21:45:20.072 23271 23390 D WebSocketRepository: Message number 2 received: {"id":2,"type":"pong"}
04-05 21:45:25.025 23271 23499 D WebviewActivity: External bus {"type":"theme-update","id":4}
04-05 21:45:25.116 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:45:25.116 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:45:25.116 23271 23378 D WebViewPresenterImpl: Try getting color from webview color "#101e24".
04-05 21:45:25.117 23271 23378 I WebViewPresenterImpl: Found color -15720924.
04-05 21:45:25.117 23271 23312 D WebViewPresenterImpl: Try getting color from webview color "#111111".
04-05 21:45:25.117 23271 23312 I WebViewPresenterImpl: Found color -15658735.
04-05 21:45:25.117 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:45:25.117 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:45:25.117 23271 23378 D WebViewPresenterImpl: Try getting color from webview color "#101e24".
04-05 21:45:25.117 23271 23378 I WebViewPresenterImpl: Found color -15720924.
04-05 21:45:25.118 23271 23378 D WebViewPresenterImpl: Try getting color from webview color "#111111".
04-05 21:45:25.118 23271 23378 I WebViewPresenterImpl: Found color -15658735.
04-05 21:45:25.872 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:4.6047363, limit is:60The moving distance of Y is:61.419067, limit is:60
04-05 21:45:26.841 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:6.7164917, limit is:60The moving distance of Y is:81.46423, limit is:60
04-05 21:45:28.692 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"light"},"id":5}
04-05 21:45:28.692 23271 23271 D WebviewActivity: Processing haptic tag for light
04-05 21:45:30.564 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:13.652557, limit is:60The moving distance of Y is:70.17816, limit is:60
04-05 21:45:31.226 23271 23271 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 21:45:34.858 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"success"},"id":6}
04-05 21:45:34.859 23271 23271 D WebviewActivity: Processing haptic tag for success
04-05 21:45:36.068 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"success"},"id":7}
04-05 21:45:36.069 23271 23271 D WebviewActivity: Processing haptic tag for success
04-05 21:45:38.429 23271 23499 D WebviewActivity: External bus {"type":"theme-update","id":8}
04-05 21:45:38.535 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:45:38.535 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:45:38.535 23271 23312 D WebViewPresenterImpl: Try getting color from webview color "#101e24".
04-05 21:45:38.535 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:45:38.535 23271 23271 D WebviewActivity: Color from webview is "#101e24-SPACER-#111111"
04-05 21:45:38.535 23271 23375 D WebViewPresenterImpl: Try getting color from webview color "#101e24".
04-05 21:45:38.535 23271 23312 I WebViewPresenterImpl: Found color -15720924.
04-05 21:45:38.536 23271 23313 D WebViewPresenterImpl: Try getting color from webview color "#111111".
04-05 21:45:38.536 23271 23375 I WebViewPresenterImpl: Found color -15720924.
04-05 21:45:38.536 23271 23313 I WebViewPresenterImpl: Found color -15658735.
04-05 21:45:38.536 23271 23378 D WebViewPresenterImpl: Try getting color from webview color "#111111".
04-05 21:45:38.536 23271 23378 I WebViewPresenterImpl: Found color -15658735.
04-05 21:45:39.366 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:0.56121826, limit is:60The moving distance of Y is:71.2749, limit is:60
04-05 21:45:40.309 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:10.802734, limit is:60The moving distance of Y is:92.51636, limit is:60
04-05 21:45:41.317 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"light"},"id":9}
04-05 21:45:41.318 23271 23271 D WebviewActivity: Processing haptic tag for light
04-05 21:45:42.960 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:5.3286133, limit is:60The moving distance of Y is:64.73346, limit is:60
04-05 21:45:43.036 23271 23271 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 21:45:46.750 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"success"},"id":10}
04-05 21:45:46.751 23271 23271 D WebviewActivity: Processing haptic tag for success
04-05 21:45:48.462 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"success"},"id":11}
04-05 21:45:48.462 23271 23271 D WebviewActivity: Processing haptic tag for success
04-05 21:45:50.079 23271 23378 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:45:50.080 23271 23378 D WebSocketRepository: Sending message 3: {type=ping, id=3}
04-05 21:45:50.080 23271 23378 D WebSocketRepository: Message number 3 sent
04-05 21:45:50.141 23271 23390 D WebSocketRepository: Websocket: onMessage (text)
04-05 21:45:50.141 23271 23390 D WebSocketRepository: Message number 3 received: {"id":3,"type":"pong"}
04-05 21:45:50.208 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:16.894135, limit is:60The moving distance of Y is:87.166016, limit is:60
04-05 21:45:51.597 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:28.528625, limit is:60The moving distance of Y is:77.1814, limit is:60
04-05 21:45:52.570 23271 23499 D WebviewActivity: External bus {"type":"config_screen/show","id":12}
04-05 21:45:52.610 23271 23271 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@994c732
04-05 21:45:52.618 23271 23271 V ActivityThread: callActivityOnCreate
04-05 21:45:52.631 23271 23271 D ActivityThread: add activity client record, r= ActivityRecord{737f7bf token=android.os.BinderProxy@994c732 {io.homeassistant.companion.android/io.homeassistant.companion.android.settings.SettingsActivity}} token= android.os.BinderProxy@994c732
04-05 21:45:52.635 23271 23271 D UrlRepository: Using external URL
04-05 21:45:52.636 23271 23271 I chatty  : uid=10310(io.homeassistant.companion.android) identical 2 lines
04-05 21:45:52.636 23271 23271 D UrlRepository: Using external URL
04-05 21:45:52.648 23271 23271 I OverScrollerOptimization: start init SmartSlideOverScroller and get the overscroller config
04-05 21:45:52.648 23271 23271 I OverScrollerOptimization: get the overscroller config
04-05 21:45:52.662 23271 23792 D HiTouch_PressGestureDetector: onAttached, package=io.homeassistant.companion.android, windowType=1, mHiTouchRestricted=false
04-05 21:45:52.668 23271 23325 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
04-05 21:45:52.723 23271 23271 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 21:45:52.778 23271 23375 D SensorWorker: Updating all Sensors.
04-05 21:45:52.780 23271 23309 I WM-Processor: Moving WorkSpec (f5eb68b7-5755-4d27-8334-2f9086d6b791) to the foreground
04-05 21:45:52.784 23271 23271 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
04-05 21:45:52.832 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:45:52.840 23271 23375 E SensorReceiver: Issue registering sensor: battery_level
04-05 21:45:52.840 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:45:52.840 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:45:52.842 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:45:52.846 23271 23375 E SensorReceiver: Issue registering sensor: battery_state
04-05 21:45:52.846 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:45:52.846 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:45:52.849 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:45:52.853 23271 23375 E SensorReceiver: Issue registering sensor: is_charging
04-05 21:45:52.853 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:45:52.853 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:45:52.855 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:45:52.859 23271 23375 E SensorReceiver: Issue registering sensor: charger_type
04-05 21:45:52.859 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:45:52.859 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:45:52.861 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:45:52.866 23271 23375 E SensorReceiver: Issue registering sensor: battery_health
04-05 21:45:52.866 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:45:52.866 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:45:52.868 23271 23375 D UrlRepository: localUrl is: false and usesInternalSsid is: false
04-05 21:45:52.872 23271 23375 E SensorReceiver: Issue registering sensor: battery_temperature
04-05 21:45:52.872 23271 23375 E SensorReceiver: io.homeassistant.companion.android.common.data.integration.IntegrationException: Error calling integration request register_sensor
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.registerSensor(IntegrationRepositoryImpl.kt:589)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$registerSensor$1.invokeSuspend(Unknown Source:15)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
04-05 21:45:52.872 23271 23375 E SensorReceiver: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
04-05 21:45:52.914 23271 23375 D SensorReceiver: Nothing to update
04-05 21:45:52.914 23271 23347 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=f5eb68b7-5755-4d27-8334-2f9086d6b791, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
04-05 21:45:53.110 23271 23325 W libEGL  : EGLNativeWindowType 0x70b901ead0 disconnect failed
04-05 21:45:53.372 23271 23271 W Settings: Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
04-05 21:45:53.372 23271 23271 V HiTouch_HiTouchSensor: User setup is finished.
04-05 21:45:53.395 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:38.04779, limit is:60The moving distance of Y is:193.43298, limit is:60
04-05 21:45:53.418 23271 23271 D OverScrollerOptimization: fling time is flingTime = 3.465929215889233 velocity = 23107
04-05 21:45:53.419 23271 23271 D OverScrollerOptimization: fling time is flingTime = 3.465929215889233 velocity = 23107
04-05 21:45:55.303 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:5.801758, limit is:60The moving distance of Y is:101.92053, limit is:60
04-05 21:45:56.087 23271 23271 D OverScrollerOptimization: fling time is flingTime = 2.0924397737832012 velocity = 1714
04-05 21:45:56.087 23271 23271 D OverScrollerOptimization: fling time is flingTime = 2.0924397737832012 velocity = 1714
04-05 21:45:56.873 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:5.4699097, limit is:60The moving distance of Y is:89.90393, limit is:60
04-05 21:45:57.565 23271 23271 D OverScrollerOptimization: fling time is flingTime = 1.4302102366232705 velocity = 489
04-05 21:45:57.566 23271 23271 D OverScrollerOptimization: fling time is flingTime = 1.4302102366232705 velocity = 489
04-05 21:45:59.328 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:36.50244, limit is:60The moving distance of Y is:96.25696, limit is:60
04-05 21:46:00.547 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:43.491394, limit is:60The moving distance of Y is:86.55176, limit is:60
04-05 21:46:03.966 23271 23271 D OverScrollerOptimization: fling time is flingTime = 1.9124979053517595 velocity = 1219
04-05 21:46:03.966 23271 23271 D OverScrollerOptimization: fling time is flingTime = 1.9124979053517595 velocity = 1219
04-05 21:46:06.228 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:6.7192993, limit is:60The moving distance of Y is:88.33423, limit is:60
04-05 21:46:10.051 23271 23271 E mpanion.androi: Invalid ID 0x00000000.
04-05 21:46:10.052 23271 23271 E Resource: printErrorResource, maybe not a error because module has entative access to resource called by =android.content.res.HwResourcesImpl.printErrorResource:2634 android.content.res.ResourcesImpl.getResourceEntryName:377 android.content.res.Resources.getResourceEntryName:2229 io.sentry.android.core.internal.gestures.ViewUtils.getResourceId:110 io.sentry.android.core.internal.gestures.SentryGestureListener.addBreadcrumb:168 io.sentry.android.core.internal.gestures.SentryGestureListener.onSingleTapUp:91 
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/system/framework/framework-res.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/system/framework/framework-res-hwext.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GmsConfigOverlay.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GmsGsaConfigOverlay.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GoogleExtServicesConfigOverlay.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GoogleModuleMetadataConfigOverlay.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/preas/oversea/overlay/GooglePermissionControllerConfigOverlay.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/hw_product/overlay/frameworkResOverlay.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-Zs-RCnTpm9BWgQBo9aNrKw==/base.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-Zs-RCnTpm9BWgQBo9aNrKw==/split_config.arm64_v8a.apk}
04-05 21:46:10.052 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-Zs-RCnTpm9BWgQBo9aNrKw==/split_config.nb.apk}
04-05 21:46:10.053 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-Zs-RCnTpm9BWgQBo9aNrKw==/split_config.no.apk}
04-05 21:46:10.053 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/io.homeassistant.companion.android-Zs-RCnTpm9BWgQBo9aNrKw==/split_config.xxhdpi.apk}
04-05 21:46:10.053 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-oiyJKY2z-g-sZPEDgF1t-g==/base.apk}
04-05 21:46:10.053 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-oiyJKY2z-g-sZPEDgF1t-g==/split_config.nb.apk}
04-05 21:46:10.053 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/com.google.android.webview-oiyJKY2z-g-sZPEDgF1t-g==/split_weblayer.apk}
04-05 21:46:10.053 23271 23271 I ResourcesImplEx: The apk asset path = ApkAssets{path=/data/app/com.google.android.trichromelibrary_484408833--hOyVYNkKvHqi4JYJqx3eA==/base.apk}
04-05 21:46:10.066 23271 23271 V AudioManager: querySoundEffectsEnabled...
04-05 21:46:10.119 23271 23271 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
04-05 21:46:10.124 23271 23313 D LogcatReader: Read logcat for pid 23271

@dshokouhi
Copy link
Member

Here is the log of the following actions:

  • I opened the app, went into settings and turned vibrations on.
  • Triggered the normal expected vibration
  • Went into settings and turned vibrations off.
  • Triggered the strange vibration

So according to your logs I see you clicked on 3 buttons (light, success and success feedback events)

04-05 21:45:28.692 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"light"},"id":5} 
04-05 21:45:28.692 23271 23271 D WebviewActivity: Processing haptic tag for light 
04-05 21:45:30.564 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:13.652557, limit is:60The moving distance of Y is:70.17816, limit is:60 
04-05 21:45:31.226 23271 23271 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time 
04-05 21:45:34.858 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"success"},"id":6} 
04-05 21:45:34.859 23271 23271 D WebviewActivity: Processing haptic tag for success 
04-05 21:45:36.068 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"success"},"id":7} 
04-05 21:45:36.069 23271 23271 D WebviewActivity: Processing haptic tag for success

and then a few seconds later (presumably after turning off HA User profile vibration setting) you had clicked on the same 3 items.

04-05 21:45:41.317 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"light"},"id":9} 
04-05 21:45:41.318 23271 23271 D WebviewActivity: Processing haptic tag for light 
04-05 21:45:42.960 23271 23271 W HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:5.3286133, limit is:60The moving distance of Y is:64.73346, limit is:60 
04-05 21:45:43.036 23271 23271 I HwViewRootImpl: removeInvalidNode all the node in jank list is out of time 
04-05 21:45:46.750 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"success"},"id":10} 
04-05 21:45:46.751 23271 23271 D WebviewActivity: Processing haptic tag for success 
04-05 21:45:48.462 23271 23499 D WebviewActivity: External bus {"type":"haptic","payload":{"hapticType":"success"},"id":11} 
04-05 21:45:48.462 23271 23271 D WebviewActivity: Processing haptic tag for success

In both of these cases the app is responding to HA frontend sending the haptic request, so this is beginning to sound like a HA frontend if that is correct. All we do is respond to the HA frontend requests here.

Also you have a lot of errors not only about sensors but also in the HA frontend, you may want to look into getting those fixed by following the start fresh steps. The app seems to have issues registering sensors and some other webview error.

https://companion.home-assistant.io/docs/troubleshooting/faqs#starting-fresh-with-the-android-app

@bernikr
Copy link
Author

bernikr commented Apr 5, 2022

@dshokouhi I just did all the steps again and the log looks very similar, but I think somehow the log level is set to info and not debug. No idea how to change that tough.

To your comment that the app is responding to the HA frontend in both cases: Something has to be different about it, since the vibration pattern is different.

The following is only speculation, but could it be that the long success vibration by the app is always triggered (regardless of the settings), but when the frontend additionally uses navigator.vibrate for the short vibration the long vibration is canceled.

Also i tried to read the frontend code to narrow the bug down, but i couldn't find the code that sends the haptic events to the external bus.

Update: I just reset the app data and the log level is still only info.

@dshokouhi
Copy link
Member

dshokouhi commented Apr 5, 2022

I just did all the steps again and the log looks very similar, but I think somehow the log level is set to info and not debug. No idea how to change that tough.

You need to make sure to grab the logs from the Configuration > Companion App > Show and Share Logs. The log level is not something you set as a user, verbose logs have been known to be missing when another logcat method is used without granting proper USB permissions. Logcat Reader for example is an app that requires USB permissions to get all the correct logs.

To your comment that the app is responding to the HA frontend in both cases: Something has to be different about it, since the vibration pattern is different.

I saw your linked comment but thats pointing to a conditional statement where the vibration will take effect only if the devices API level was not correct. The logs shoudl still show that HA is sending us a value but in your logs I do not see that.

The following is only speculation, but could it be that the long success vibration by the app is always triggered (regardless of the settings), but when the frontend additionally uses navigator.vibrate for the short vibration the long vibration is canceled.

The app waits for the external bus message from the frontend and then (only then) do we process the haptic feedback. We can see that from the above comment where the HA frontend continues to send event data.

Also i tried to read the frontend code to narrow the bug down, but i couldn't find the code that sends the haptic events to the external bus.

I think this PR may be of help home-assistant/frontend#3116

@bernikr
Copy link
Author

bernikr commented Apr 5, 2022

You need to make sure to grab the logs from the Configuration > Companion App > Show and Share Logs.

I did grab the logs from there.

Regarding the frontend code: (I know this might not be the right place to discuss this here, but since this issue seems to only affect huawei phones i still think it is relevant)

Haptics are emitted as DOM events. For the native js vibrations (that also work in the mobile browser) there is a function that attaches an event listener to them only if they are activated in the profile and the device supports vibrations. (link) This event listener uses the js native navigator.vibrate method.

The function that re-emitts the events to the external bus, however, never checks this setting and always re-emits the event. (link)

From that i am not sure why disabling vibrations even works at all on android, because from what I've seen now only huawei users reported problems.

@dshokouhi
Copy link
Member

Regarding the frontend code: (I know this might not be the right place to discuss this here, but since this issue seems to only affect huawei phones i still think it is relevant)

Thats my suspicion as well, at least thats the trend along with the same custom card

The function that re-emitts the events to the external bus, however, never checks this setting and always re-emits the event. (link)

if that is the issue then it sounds like a frontend issue. Keep in mind as well that both reports come from the same custom card and judging by this issue it seems the author may have a fix in the works.

piitaya/lovelace-mushroom#93 (comment)

@dshokouhi
Copy link
Member

For our purposes lets not focus on a custom card but instead of focus on HA default behavior. When you turn vibration on in the user profile do you get feedback? I got feedback when I did this. When you turn off the vibration in the user profile there is no vibration feedback given, I also experience this. Lets start with the basics before looking at anything custom.

@bernikr
Copy link
Author

bernikr commented Apr 5, 2022

Yes the default behavior works as expected. All native HA cards, switches, etc. obey the setting.

As I see it there are multiple bugs or undocumented behavior that leads to this bug:

  • The issue is not only with this one custom cards, but with all cards using the custom-cards/custom-card-helpers library. I suspect the reason is that the haptics event raised by this library is raised on the window while native HA haptics raise it on the respective DOM element. (The documentation for this is still WIP and doesn't provide the right way to do it (link))
  • Somewhere along the line the frontend treats these two events slightly differently and ignores the setting for passing the event along.
  • There are two parallel implementations of the vibrate function (js and native android)
  • somehow it only seems to occur on huawei phones for some reason.

@dshokouhi
Copy link
Member

  • The issue is not only with this one custom cards, but with all cards using the custom-cards/custom-card-helpers library. I suspect the reason is that the haptics event raised by this library is raised on the window while native HA haptics raise it on the respective DOM element. (The documentation for this is still WIP and doesn't provide the right way to do it (link))

There is not much we can do here with custom cards, especially when default behavior works as expected.

  • Somewhere along the line the frontend treats these two events slightly differently and ignores the setting for passing the event along.

I am not sure but that would not be app related as we just respond to events

  • There are two parallel implementations of the vibrate function (js and native android)

The apps are responsible for reacting to the external bus messages for the haptic event, If an event is not supposed to be sent then that responsibility lies with the HA frontend.

  • somehow it only seems to occur on huawei phones for some reason.

could be how they implement one of the APIs used but I am not sure, its a guessing game at this point.

Given that default behavior works I am going to close this issue as the issue so far seems to be related to custom cards. If we determine it is an app issue we can revisit this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working webview
Projects
None yet
Development

No branches or pull requests

3 participants