summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuang Luong <qal@google.com>2020-03-10 00:04:23 -0700
committerQuang Luong <qal@google.com>2020-03-11 00:26:01 +0000
commit140ee33e15766de9687b77adbb0671c4f545228d (patch)
tree171a414c4292337a075dfb0a507d3888d08e90a8
parent7df8f4f20fdc02a9839130102ed017ad8113998e (diff)
[WifiTrackerLib] Fix NPE when refreshing link properties
Add a null check when referencing link properties due to a race condition where a connected WifiEntry receives a link properties changed callback that is null. Bug: 148752497 Test: atest WifiTrackerLibTests Change-Id: I86d6d1c48b2945e111f66122bd9ace91dd63db12
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
index ff230e76c..221829312 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
@@ -304,6 +304,10 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
* Returns null if getConnectedState() != CONNECTED_STATE_CONNECTED.
*/
public ConnectedInfo getConnectedInfo() {
+ if (getConnectedState() != CONNECTED_STATE_CONNECTED) {
+ return null;
+ }
+
return mConnectedInfo;
}
@@ -585,7 +589,9 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
// Method for WifiTracker to update the link properties, which is valid for all WifiEntry types.
@WorkerThread
void updateLinkProperties(@Nullable LinkProperties linkProperties) {
- if (getConnectedState() != CONNECTED_STATE_CONNECTED) {
+ if (linkProperties == null || getConnectedState() != CONNECTED_STATE_CONNECTED) {
+ mConnectedInfo = null;
+ notifyOnUpdated();
return;
}