Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit edba8529 authored by Irfan Sheriff's avatar Irfan Sheriff
Browse files

Handle null BSSID

The root cause of why bssid needs investigation, but for now,
we can avoid crashing wifiwatchdog.

When bssid is null, just treat it as a good link.

Bug: 7357232
Change-Id: I080dfc990f3412646976cdc6ef75112ab093d326
parent a30d9694
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -556,8 +556,8 @@ public class WifiWatchdogStateMachine extends StateMachine {
                            mLinkProperties = (LinkProperties) intent.getParcelableExtra(
                                    WifiManager.EXTRA_LINK_PROPERTIES);
                            if (mPoorNetworkDetectionEnabled) {
                                if (mWifiInfo == null) {
                                    if (DBG) logd("Ignoring link verification, mWifiInfo is NULL");
                                if (mWifiInfo == null || mCurrentBssid == null) {
                                    loge("Ignore, wifiinfo " + mWifiInfo +" bssid " + mCurrentBssid);
                                    sendLinkStatusNotification(true);
                                } else {
                                    transitionTo(mVerifyingLinkState);
@@ -726,7 +726,7 @@ public class WifiWatchdogStateMachine extends StateMachine {
        }

        private void handleRssiChange() {
            if (mCurrentSignalLevel <= LINK_MONITOR_LEVEL_THRESHOLD) {
            if (mCurrentSignalLevel <= LINK_MONITOR_LEVEL_THRESHOLD && mCurrentBssid != null) {
                transitionTo(mLinkMonitoringState);
            } else {
                // stay here
@@ -920,11 +920,15 @@ public class WifiWatchdogStateMachine extends StateMachine {
        if (DBG) logd("########################################");
        if (isGood) {
            mWsmChannel.sendMessage(GOOD_LINK_DETECTED);
            if (mCurrentBssid != null) {
                mCurrentBssid.mLastTimeGood = SystemClock.elapsedRealtime();
            logd("Good link notification is sent");
            }
            if (DBG) logd("Good link notification is sent");
        } else {
            mWsmChannel.sendMessage(POOR_LINK_DETECTED);
            if (mCurrentBssid != null) {
                mCurrentBssid.mLastTimePoor = SystemClock.elapsedRealtime();
            }
            logd("Poor link notification is sent");
        }
    }