Fix a regression in settings parsing

Change-Id: I222bac482a843112ae031b00c83e3765ea6b456c
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 2c63647..8328d112 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -1806,7 +1806,7 @@
                 final int oldVersion = secureSettings.getVersionLocked();
                 final int newVersion = SETTINGS_VERSION;
 
-                // If up do data - done.
+                // If up do date - done.
                 if (oldVersion == newVersion) {
                     return;
                 }
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
index d0f4e7d..c7092b3 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
@@ -433,6 +433,9 @@
 
     private void parseSettingsLocked(XmlPullParser parser)
             throws IOException, XmlPullParserException {
+
+        mVersion = Integer.parseInt(parser.getAttributeValue(null, ATTR_VERSION));
+
         final int outerDepth = parser.getDepth();
         int type;
         while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
@@ -441,15 +444,18 @@
                 continue;
             }
 
-            String id = parser.getAttributeValue(null, ATTR_ID);
-            String name = parser.getAttributeValue(null, ATTR_NAME);
-            String value = parser.getAttributeValue(null, ATTR_VALUE);
-            String packageName = parser.getAttributeValue(null, ATTR_PACKAGE);
-            mSettings.put(name, new Setting(name, unpackValue(value),
-                    unpackValue(packageName), id));
+            String tagName = parser.getName();
+            if (tagName.equals(TAG_SETTING)) {
+                String id = parser.getAttributeValue(null, ATTR_ID);
+                String name = parser.getAttributeValue(null, ATTR_NAME);
+                String value = parser.getAttributeValue(null, ATTR_VALUE);
+                String packageName = parser.getAttributeValue(null, ATTR_PACKAGE);
+                mSettings.put(name, new Setting(name, unpackValue(value),
+                        unpackValue(packageName), id));
 
-            if (DEBUG_PERSISTENCE) {
-                Slog.i(LOG_TAG, "[RESTORED] " + name + "=" + value);
+                if (DEBUG_PERSISTENCE) {
+                    Slog.i(LOG_TAG, "[RESTORED] " + name + "=" + value);
+                }
             }
         }
     }