From f6724413b073ae2ade4b2bde28955b75c0e7d648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Fri, 12 Feb 2016 13:04:10 +0000 Subject: [PATCH] WifiStateChangeService: Avoid DhcpInfo NPE Fixes #569. --- .../src/org/fdroid/fdroid/net/WifiStateChangeService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/F-Droid/src/org/fdroid/fdroid/net/WifiStateChangeService.java b/F-Droid/src/org/fdroid/fdroid/net/WifiStateChangeService.java index df6ab2d58..a45484fee 100644 --- a/F-Droid/src/org/fdroid/fdroid/net/WifiStateChangeService.java +++ b/F-Droid/src/org/fdroid/fdroid/net/WifiStateChangeService.java @@ -6,6 +6,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; +import android.net.DhcpInfo; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; @@ -84,7 +85,11 @@ public class WifiStateChangeService extends Service { if (wifiState == WifiManager.WIFI_STATE_ENABLED) { wifiInfo = wifiManager.getConnectionInfo(); FDroidApp.ipAddressString = formatIpAddress(wifiInfo.getIpAddress()); - String netmask = formatIpAddress(wifiManager.getDhcpInfo().netmask); + DhcpInfo dhcpInfo = wifiManager.getDhcpInfo(); + if (dhcpInfo == null) { + return null; + } + String netmask = formatIpAddress(dhcpInfo.netmask); if (!TextUtils.isEmpty(FDroidApp.ipAddressString) && netmask != null) FDroidApp.subnetInfo = new SubnetUtils(FDroidApp.ipAddressString, netmask).getInfo(); } else if (wifiState == WifiManager.WIFI_STATE_DISABLED