History log of /frameworks/base/core/java/android/net/arp/ArpPeer.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dfe5578771080bf225225d3c903e186d92f5b274 22-Aug-2012 Irfan Sheriff <isheriff@android.com> am c584a24b: am 2140d1de: Merge "Avoid system_server crashing due to mac address is null"

* commit 'c584a24ba1af0c831adf46fe57b69af396fb925c':
Avoid system_server crashing due to mac address is null
21326d8b77cfd1567d87d5ebe3e327b744632e24 22-Aug-2012 Chih-Wei Huang <cwhuang@linux.org.tw> Avoid system_server crashing due to mac address is null

It's possible that the mac address is null (getMacAddress() of WifiNative.java).
In this case system_server will crash like:

E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: WifiWatchdogStateMachine
E AndroidRuntime: java.lang.NullPointerException
E AndroidRuntime: at android.net.arp.ArpPeer.<init>(ArpPeer.java:57)
E AndroidRuntime: at android.net.wifi.WifiWatchdogStateMachine.doArpTest(WifiWatchdogStateMachine.java:866)

Check the mac address before parsing to avoid crashing.

Change-Id: I5d4205c04d479a3a2837172c6382816ea4bf74d6
/frameworks/base/core/java/android/net/arp/ArpPeer.java
55b9821dffe5991e554841bf871155a2c4024c56 22-Jun-2012 Irfan Sheriff <isheriff@google.com> Move ARP test functionality to ArpPeer

Change-Id: Iecd6037cf8e0faa626ba6c27cef014822a6bc61b
/frameworks/base/core/java/android/net/arp/ArpPeer.java
07573b32494acbabd21979d8b9584c1ed3f7a6ad 28-Jan-2012 Irfan Sheriff <isheriff@google.com> Improve Wi-Fi hand-off

When Wi-fi connects at L2 layer, the beacons reach and the device
can maintain a connection to the access point, but the application
connectivity can be flaky (due to bigger packet size exchange).

We now use Watchdog to monitor the quality of the last hop on
Wi-Fi using signal strength and ARP connectivity as indicators
to decide if the link is good enough to switch to Wi-Fi as the uplink.

ARP pings are useful for link validation but can still get through
when the application traffic fails to go through and thus not best indicator
real packet loss since they are tiny packets (28 bytes) and have
much low chance of packet corruption than the regular data
packets.

Signal strength and ARP used together ends up working well in tests.
The goal is to switch to Wi-Fi after validating ARP transfer
and RSSI and then switching out of Wi-Fi when we hit a low
signal strength threshold and waiting until the signal strength
improves and validating ARP transfer.

Change-Id: Ica593291ec7772da892f03cf45b649635b730c47
/frameworks/base/core/java/android/net/arp/ArpPeer.java