From 79591c430003969dfb857a1e968dfeb12328bc3e Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Mon, 23 Oct 2023 08:25:22 -0700 Subject: [PATCH 1/2] Use deprecated wifi method in case WifiInfo is null --- .../companion/android/common/sensors/NetworkSensorManager.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/io/homeassistant/companion/android/common/sensors/NetworkSensorManager.kt b/common/src/main/java/io/homeassistant/companion/android/common/sensors/NetworkSensorManager.kt index d1abd2ccb6e..bbf83d309e8 100644 --- a/common/src/main/java/io/homeassistant/companion/android/common/sensors/NetworkSensorManager.kt +++ b/common/src/main/java/io/homeassistant/companion/android/common/sensors/NetworkSensorManager.kt @@ -532,7 +532,8 @@ class NetworkSensorManager : SensorManager { val connectivityManager = context.applicationContext.getSystemService() connectivityManager?.activeNetwork?.let { val info = connectivityManager.getNetworkCapabilities(it)?.transportInfo - return@let info as? WifiInfo + @Suppress("DEPRECATION") + return@let info as? WifiInfo ?: context.applicationContext.getSystemService()?.connectionInfo } } else { @Suppress("DEPRECATION") From 27feff62442bb326cac3cb15f17006977dae2939 Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Mon, 23 Oct 2023 08:50:54 -0700 Subject: [PATCH 2/2] Add comment about why we are reusing the deprecated method --- .../companion/android/common/sensors/NetworkSensorManager.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/src/main/java/io/homeassistant/companion/android/common/sensors/NetworkSensorManager.kt b/common/src/main/java/io/homeassistant/companion/android/common/sensors/NetworkSensorManager.kt index bbf83d309e8..b00a6b6a9ea 100644 --- a/common/src/main/java/io/homeassistant/companion/android/common/sensors/NetworkSensorManager.kt +++ b/common/src/main/java/io/homeassistant/companion/android/common/sensors/NetworkSensorManager.kt @@ -532,6 +532,8 @@ class NetworkSensorManager : SensorManager { val connectivityManager = context.applicationContext.getSystemService() connectivityManager?.activeNetwork?.let { val info = connectivityManager.getNetworkCapabilities(it)?.transportInfo + + // If WifiInfo is null default to the deprecated method as a fix for some devices that may return null @Suppress("DEPRECATION") return@let info as? WifiInfo ?: context.applicationContext.getSystemService()?.connectionInfo }