diff options
author | Lucas Lin <lucaslin@google.com> | 2020-06-03 03:41:33 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-06-03 03:41:33 +0000 |
commit | e2fd218f0a602ebdbe1e1ea90a4f5b1e6e7ae4ca (patch) | |
tree | f41bd355e0128f2c98c21744ca1537a03cabf866 | |
parent | 99a74591af7bb77e928bebab3a88916db57f768b (diff) | |
parent | e3e707a344a1a72b36cd21900060f07d36eaca2f (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-x | src/com/android/server/connectivity/NetworkMonitor.java | 1 | ||||
-rw-r--r-- | tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java | 5 |
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()); |