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();
|
FDroidApp.bssid = wifiInfo.getBSSID();
|
||||||
} else {
|
} 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);
|
Utils.debugLog(TAG, "WifiApControl: " + wifiApControl);
|
||||||
if (wifiApControl == null && FDroidApp.ipAddressString != null) {
|
if (wifiApControl == null && FDroidApp.ipAddressString != null) {
|
||||||
wifiInfo = wifiManager.getConnectionInfo();
|
wifiInfo = wifiManager.getConnectionInfo();
|
||||||
@ -249,7 +255,9 @@ public class WifiStateChangeService extends IntentService {
|
|||||||
} else if (wifiApControl != null && wifiApControl.isEnabled()) {
|
} else if (wifiApControl != null && wifiApControl.isEnabled()) {
|
||||||
WifiConfiguration wifiConfiguration = wifiApControl.getConfiguration();
|
WifiConfiguration wifiConfiguration = wifiApControl.getConfiguration();
|
||||||
Utils.debugLog(TAG, "WifiConfiguration: " + wifiConfiguration);
|
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);
|
FDroidApp.ssid = getString(R.string.swap_hidden_wifi_ssid);
|
||||||
} else {
|
} else {
|
||||||
FDroidApp.ssid = wifiConfiguration.SSID;
|
FDroidApp.ssid = wifiConfiguration.SSID;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user