catch random NullPointerExceptions related to WifiApControl
java.lang.NullPointerException: Attempt to read from field 'boolean android.net.wifi.WifiConfiguration.hiddenSSID' on a null object reference at org.fdroid.fdroid.nearby.WifiStateChangeService.setSsid(WifiStateChangeService.java:252) at org.fdroid.fdroid.nearby.WifiStateChangeService.access$100(WifiStateChangeService.java:59) at org.fdroid.fdroid.nearby.WifiStateChangeService$WifiInfoThread.run(WifiStateChangeService.java:174) java.lang.NullPointerException: null receiver at java.lang.reflect.Method.invoke(Native Method) at cc.mvdan.accesspoint.WifiApControl.invokeQuietly(WifiApControl.java:178) at cc.mvdan.accesspoint.WifiApControl.isWifiApEnabled(WifiApControl.java:189) at cc.mvdan.accesspoint.WifiApControl.isEnabled(WifiApControl.java:198) at org.fdroid.fdroid.nearby.WifiStateChangeService.setSsid(WifiStateChangeService.java:249) at org.fdroid.fdroid.nearby.WifiStateChangeService.access$100(WifiStateChangeService.java:59) at org.fdroid.fdroid.nearby.WifiStateChangeService$WifiInfoThread.run(WifiStateChangeService.java:133) java.lang.NullPointerException: Attempt to invoke virtual method 'int android.app.AppOpsManager.checkOpNoThrow(int, int, java.lang.String)' on a null object reference at android.provider.Settings.isCallingPackageAllowedToPerformAppOpsProtectedOperation(Settings.java:13730) at android.provider.Settings.isCallingPackageAllowedToWriteSettings(Settings.java:13634) at android.provider.Settings$System.canWrite(Settings.java:4793) at cc.mvdan.accesspoint.WifiApControl.getInstance(WifiApControl.java:122) at org.fdroid.fdroid.nearby.WifiStateChangeService.setSsid(WifiStateChangeService.java:240) at org.fdroid.fdroid.nearby.WifiStateChangeService.access$100(WifiStateChangeService.java:59) at org.fdroid.fdroid.nearby.WifiStateChangeService$WifiInfoThread.run(WifiStateChangeService.java:133)
This commit is contained in:
parent
bfcc5c974e
commit
1e29c281c6
@ -237,7 +237,13 @@ public class WifiStateChangeService extends IntentService {
|
||||
}
|
||||
FDroidApp.bssid = wifiInfo.getBSSID();
|
||||
} else {
|
||||
WifiApControl wifiApControl = WifiApControl.getInstance(this);
|
||||
WifiApControl wifiApControl = null;
|
||||
try {
|
||||
wifiApControl = WifiApControl.getInstance(this);
|
||||
wifiApControl.isEnabled();
|
||||
} catch (NullPointerException e) {
|
||||
wifiApControl = null;
|
||||
}
|
||||
Utils.debugLog(TAG, "WifiApControl: " + wifiApControl);
|
||||
if (wifiApControl == null && FDroidApp.ipAddressString != null) {
|
||||
wifiInfo = wifiManager.getConnectionInfo();
|
||||
@ -249,7 +255,9 @@ public class WifiStateChangeService extends IntentService {
|
||||
} else if (wifiApControl != null && wifiApControl.isEnabled()) {
|
||||
WifiConfiguration wifiConfiguration = wifiApControl.getConfiguration();
|
||||
Utils.debugLog(TAG, "WifiConfiguration: " + wifiConfiguration);
|
||||
if (wifiConfiguration.hiddenSSID) {
|
||||
if (wifiConfiguration == null) {
|
||||
FDroidApp.ssid = getString(R.string.swap_active_hotspot, "");
|
||||
} else if (wifiConfiguration.hiddenSSID) {
|
||||
FDroidApp.ssid = getString(R.string.swap_hidden_wifi_ssid);
|
||||
} else {
|
||||
FDroidApp.ssid = wifiConfiguration.SSID;
|
||||
|
Loading…
x
Reference in New Issue
Block a user