summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Lin <lucaslin@google.com>2020-06-03 03:26:10 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-06-03 03:26:10 +0000
commite3e707a344a1a72b36cd21900060f07d36eaca2f (patch)
treeeca1bfe0c737998ceea3c7a28da36a62bc896598
parent55971628bcb8c3ecf6d6037f5a6c614918956ddf (diff)
parent10039a4753b2436984a40291c73e916ab21fe852 (diff)
Add a null check to prevent NullPointerException am: 10039a4753
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/NetworkStack/+/11702815 Change-Id: Ifb1a34a9edef90fdf3220c51dea1e044af5d9c9d
-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());