summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Lin <lucaslin@google.com>2020-06-03 03:41:33 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-06-03 03:41:33 +0000
commite2fd218f0a602ebdbe1e1ea90a4f5b1e6e7ae4ca (patch)
treef41bd355e0128f2c98c21744ca1537a03cabf866
parent99a74591af7bb77e928bebab3a88916db57f768b (diff)
parente3e707a344a1a72b36cd21900060f07d36eaca2f (diff)
Add a null check to prevent NullPointerException am: 10039a4753 am: e3e707a344
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/NetworkStack/+/11702815 Change-Id: I0d2a19858aaf8b359f7c0e354293ca53bc3116db
-rwxr-xr-xsrc/com/android/server/connectivity/NetworkMonitor.java1
-rw-r--r--tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java5
2 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/server/connectivity/NetworkMonitor.java b/src/com/android/server/connectivity/NetworkMonitor.java
index 4e56842..d0f62b2 100755
--- a/src/com/android/server/connectivity/NetworkMonitor.java
+++ b/src/com/android/server/connectivity/NetworkMonitor.java
@@ -1731,6 +1731,7 @@ public class NetworkMonitor extends StateMachine {
}
try {
final List<CellInfo> cells = mTelephonyManager.getAllCellInfo();
+ if (cells == null) return null;
final Map<String, Integer> countryCodeMap = new HashMap<>();
int maxCount = 0;
for (final CellInfo cell : cells) {
diff --git a/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java b/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
index c02d968..2422b77 100644
--- a/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
+++ b/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
@@ -866,12 +866,15 @@ public class NetworkMonitorTest {
doReturn(PackageManager.PERMISSION_GRANTED).when(mContext).checkPermission(
eq(android.Manifest.permission.ACCESS_FINE_LOCATION), anyInt(), anyInt());
doReturn(new ContextWrapper(mContext)).when(mContext).createConfigurationContext(any());
+ doReturn(null).when(mTelephony).getAllCellInfo();
+ assertNull(wnm.getLocationMcc());
// Prepare CellInfo and check if the vote mechanism is working or not.
final List<CellInfo> cellList = new ArrayList<CellInfo>();
+ doReturn(cellList).when(mTelephony).getAllCellInfo();
+ assertNull(wnm.getLocationMcc());
cellList.add(makeTestCellInfoGsm("460"));
cellList.add(makeTestCellInfoGsm("460"));
cellList.add(makeTestCellInfoLte("466"));
- doReturn(cellList).when(mTelephony).getAllCellInfo();
// The count of 460 is 2 and the count of 466 is 1, so the getLocationMcc() should return
// 460.
assertEquals("460", wnm.getLocationMcc());