Adding support for <include> tag in AutoInstall layout
Bug: 19121893
Change-Id: I760fa76d6e63c1aa0152e8cd710aba0d6ef4462a
diff --git a/src/com/android/launcher3/AutoInstallsLayout.java b/src/com/android/launcher3/AutoInstallsLayout.java
index a5d2228..3820660 100644
--- a/src/com/android/launcher3/AutoInstallsLayout.java
+++ b/src/com/android/launcher3/AutoInstallsLayout.java
@@ -78,6 +78,7 @@
}
// Object Tags
+ private static final String TAG_INCLUDE = "include";
private static final String TAG_WORKSPACE = "workspace";
private static final String TAG_APP_ICON = "appicon";
private static final String TAG_AUTO_INSTALL = "autoinstall";
@@ -100,6 +101,9 @@
private static final String ATTR_ICON = "icon";
private static final String ATTR_URL = "url";
+ // Attrs for "Include"
+ private static final String ATTR_WORKSPACE = "workspace";
+
// Style attrs -- "Extra"
private static final String ATTR_KEY = "key";
private static final String ATTR_VALUE = "value";
@@ -202,6 +206,17 @@
HashMap<String, TagParser> tagParserMap,
ArrayList<Long> screenIds)
throws XmlPullParserException, IOException {
+
+ if (TAG_INCLUDE.equals(parser.getName())) {
+ final int resId = getAttributeResourceValue(parser, ATTR_WORKSPACE, 0);
+ if (resId != 0) {
+ // recursively load some more favorites, why not?
+ return parseLayout(resId, screenIds);
+ } else {
+ return 0;
+ }
+ }
+
mValues.clear();
parseContainerAndScreen(parser, mTemp);
final long container = mTemp[0];