From 0ffb89d1d1ebcd6388ee99652beaedd4c11ea3d4 Mon Sep 17 00:00:00 2001 From: Peter Qiu Date: Mon, 27 Mar 2017 13:45:25 -0700 Subject: wifi: catch UnsupportedOperationException for getMatchingWifiConfig On a device without Passpoint support, an UnsupportedOperationException will be thrown when invoking WifiManager#getMatchingWifiConfig. So catch it to avoid crash. Bug: 36649203 Test: manually set config_wifi_hotspot2_enabled to false and verify Settings app doesn't crash Change-Id: I69f37897449033da9d21edda9953ad2738f7e314 --- .../src/com/android/settingslib/wifi/WifiTracker.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java index 3435d1d9629d..0a32f195d7d9 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java @@ -394,9 +394,13 @@ public class WifiTracker { // the given ScanResult. This is used for showing that a given AP // (ScanResult) is available via a Passpoint provider (provider friendly // name). - WifiConfiguration config = mWifiManager.getMatchingWifiConfig(result); - if (config != null) { - accessPoint.update(config); + try { + WifiConfiguration config = mWifiManager.getMatchingWifiConfig(result); + if (config != null) { + accessPoint.update(config); + } + } catch (UnsupportedOperationException e) { + // Passpoint not supported on the device. } } -- cgit v1.2.3-59-g8ed1b