question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Data roaming sensor security exception due to target SDK change

See original GitHub issue

Home Assistant Android version: latest master

Android version:

13

Phone model:

Pixel 7 Pro

Home Assistant version:

2022.10.3

Last working Home Assistant release (if known):

Phone app 2022.10.2

Description of problem:

Found the following error in logcat every time there is a sensor update

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

2022-10-19 14:21:19.646 26179-26557 SensorReceiver          pid-26179                            E  Issue requesting updates for Mobile Data Sensors
                                                                                                    java.lang.SecurityException: Settings key: <data_roaming> is only readable to apps with targetSdkVersion lower than or equal to: 32
                                                                                                    	at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:3081)
                                                                                                    	at android.provider.Settings$Global.getStringForUser(Settings.java:15854)
                                                                                                    	at android.provider.Settings$Global.getString(Settings.java:15837)
                                                                                                    	at android.provider.Settings$Global.getInt(Settings.java:16054)
                                                                                                    	at io.homeassistant.companion.android.sensors.MobileDataManager.checkState(MobileDataManager.kt:72)
                                                                                                    	at io.homeassistant.companion.android.sensors.MobileDataManager.requestSensorUpdate(MobileDataManager.kt:57)
                                                                                                    	at io.homeassistant.companion.android.common.sensors.SensorManager$DefaultImpls.requestSensorUpdate(SensorManager.kt:94)
                                                                                                    	at io.homeassistant.companion.android.sensors.MobileDataManager.requestSensorUpdate(MobileDataManager.kt:12)
                                                                                                    	at io.homeassistant.companion.android.common.sensors.SensorReceiverBase.updateSensors(SensorReceiverBase.kt:184)
                                                                                                    	at io.homeassistant.companion.android.common.sensors.SensorReceiverBase$updateSensors$1.invokeSuspend(Unknown Source:18)
                                                                                                    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                                                                                                    	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
                                                                                                    	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
                                                                                                    	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
                                                                                                    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
                                                                                                    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
                                                                                                    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Screenshot of problem:

Additional information: Seems to be caused by #2682

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
dshokouhicommented, Oct 19, 2022

oh yea nothing wrong with it, its just not a complete “switch” 😁

actually working on a PR right now just running a quick test 😃

1reaction
jpelgromcommented, Oct 19, 2022

I don’t see the problem with doing something like this?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
    // TelephonyManager
} else {
    // Old Settings
}
Read more comments on GitHub >

github_iconTop Results From Across the Web

Updates to non-SDK interface restrictions in Android 10
Starting in Android 10, non-SDK interfaces that are restricted by target API level (previously the darkgrey list) are now referred to by the ......
Read more >
Android ACTIVITY_RECOGNITION Permission SDK 28 ...
I was able to solve this by only using the API 28 permission in the manifest (com.google.android.gms.permission.ACTIVITY_RECOGNITION). If the ...
Read more >
Diff - 822ac7745a933b4155c3aa872e26fc4ef54d006d^2 ...
Mode TARGET; - } - public final class Bitmap implements android.os. ... + * @throws SecurityException if the caller is not in the...
Read more >
Cisco AnyConnect Secure Mobility Client Administrator Guide ...
Exceptions may be present in the documentation due to language that ... client prior to deploying the Umbrella Roaming Security module.
Read more >
What's New - Oracle Linux Yum Server
NET (Update); java-oci-sdk-2.51.0-1.el9 - Java SDK for Oracle Cloud Infrastructure (Update) ... A powerful declarative parser/builder for binary data (New) ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found