diff options
-rw-r--r-- | service/java/com/android/server/wifi/WifiConfigStore.java | 9 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java | 18 |
2 files changed, 11 insertions, 16 deletions
diff --git a/service/java/com/android/server/wifi/WifiConfigStore.java b/service/java/com/android/server/wifi/WifiConfigStore.java index 856a0b6ba..2a25116ca 100644 --- a/service/java/com/android/server/wifi/WifiConfigStore.java +++ b/service/java/com/android/server/wifi/WifiConfigStore.java @@ -684,15 +684,16 @@ public class WifiConfigStore { String[] headerName = new String[1]; Set<StoreData> storeDatasInvoked = new HashSet<>(); while (XmlUtil.gotoNextSectionOrEnd(in, headerName, rootTagDepth)) { - // There can only be 1 store data matching the tag (O indicates a fatal - // error). + // There can only be 1 store data matching the tag, O indicates a previous StoreData + // module that no longer exists (ignore this XML section). StoreData storeData = storeDataList.stream() .filter(s -> s.getName().equals(headerName[0])) .findAny() .orElse(null); if (storeData == null) { - throw new XmlPullParserException("Unknown store data: " + headerName[0] - + ". List of store data: " + storeDataList); + Log.e(TAG, "Unknown store data: " + headerName[0] + ". List of store data: " + + storeDataList); + continue; } storeData.deserializeData(in, rootTagDepth + 1); storeDatasInvoked.add(storeData); diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java index 7d8695b34..5436ded65 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java @@ -746,13 +746,10 @@ public class WifiConfigStoreTest { } /** - * Verify that a XmlPullParserException will be thrown when reading an user store file - * containing unknown data. - * - * @throws Exception + * Verify that we gracefully skip unknown section when reading an user store file. */ - @Test(expected = XmlPullParserException.class) - public void testReadUserStoreContainedUnknownData() throws Exception { + @Test + public void testReadUserStoreContainedUnknownSection() throws Exception { String storeFileData = "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n" + "<WifiConfigStoreData>\n" @@ -765,13 +762,10 @@ public class WifiConfigStoreTest { } /** - * Verify that a XmlPullParserException will be thrown when reading the share store file - * containing unknown data. - * - * @throws Exception + * Verify that we gracefully skip unknown section when reading a shared store file. */ - @Test(expected = XmlPullParserException.class) - public void testReadShareStoreContainedUnknownData() throws Exception { + @Test + public void testReadShareStoreContainedUnknownSection() throws Exception { String storeFileData = "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n" + "<WifiConfigStoreData>\n" |