summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/java/com/android/server/wifi/WifiConfigStore.java9
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java18
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"