Skip to content

Commit 4c8982a

Browse files
committed
Enhancements for avoiding poor connection on wifi
- Avoid flapping - Increase thresholds and monitor rssi more closely to detect consistently weak signal Change-Id: I6139a20b7306839b345146a72ce690020a2e00b8
1 parent b7fddda commit 4c8982a

File tree

3 files changed

+158
-39
lines changed

3 files changed

+158
-39
lines changed

core/java/android/provider/Settings.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3128,6 +3128,14 @@ public static final String getBluetoothInputDevicePriorityKey(String address) {
31283128
public static final String WIFI_WATCHDOG_ARP_CHECK_INTERVAL_MS =
31293129
"wifi_watchdog_arp_interval_ms";
31303130

3131+
/**
3132+
* ms delay interval between rssi polling when the signal is known to be weak
3133+
* @hide
3134+
*/
3135+
public static final String WIFI_WATCHDOG_RSSI_FETCH_INTERVAL_MS =
3136+
"wifi_watchdog_rssi_fetch_interval_ms";
3137+
3138+
31313139
/**
31323140
* ms delay before rechecking a connect SSID for walled garden with a http download.
31333141
* @hide

wifi/java/android/net/wifi/WifiStateMachine.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1852,6 +1852,9 @@ public boolean processMessage(Message message) {
18521852
replyToMessage(message, WifiManager.DISABLE_NETWORK_FAILED,
18531853
WifiManager.BUSY);
18541854
break;
1855+
case WifiWatchdogStateMachine.RSSI_FETCH:
1856+
replyToMessage(message, WifiWatchdogStateMachine.RSSI_FETCH_FAILED);
1857+
break;
18551858
default:
18561859
loge("Error! unhandled message" + message);
18571860
break;
@@ -2998,6 +3001,12 @@ public boolean processMessage(Message message) {
29983001
mRssiPollToken, 0), POLL_RSSI_INTERVAL_MSECS);
29993002
}
30003003
break;
3004+
case WifiWatchdogStateMachine.RSSI_FETCH:
3005+
eventLoggingEnabled = false;
3006+
fetchRssiAndLinkSpeedNative();
3007+
replyToMessage(message, WifiWatchdogStateMachine.RSSI_FETCH_SUCCEEDED,
3008+
mWifiInfo.getRssi());
3009+
break;
30013010
default:
30023011
return NOT_HANDLED;
30033012
}

0 commit comments

Comments
 (0)