From b564efb0244adf0fb8429940f9f716938c62a7ac Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 23 Jan 2015 13:45:20 -0800 Subject: [PATCH] Adding support for tag in AutoInstall layout Bug: 19121893 Change-Id: I760fa76d6e63c1aa0152e8cd710aba0d6ef4462a --- src/com/android/launcher3/AutoInstallsLayout.java | 15 +++++++++++++++ src/com/android/launcher3/DefaultLayoutParser.java | 22 ---------------------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/com/android/launcher3/AutoInstallsLayout.java b/src/com/android/launcher3/AutoInstallsLayout.java index a5d22286d..382066094 100644 --- a/src/com/android/launcher3/AutoInstallsLayout.java +++ b/src/com/android/launcher3/AutoInstallsLayout.java @@ -78,6 +78,7 @@ public class AutoInstallsLayout { } // 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 @@ public class AutoInstallsLayout { 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 @@ public class AutoInstallsLayout { HashMap tagParserMap, ArrayList 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]; diff --git a/src/com/android/launcher3/DefaultLayoutParser.java b/src/com/android/launcher3/DefaultLayoutParser.java index e3ea40ebb..986ae81f5 100644 --- a/src/com/android/launcher3/DefaultLayoutParser.java +++ b/src/com/android/launcher3/DefaultLayoutParser.java @@ -19,7 +19,6 @@ import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; import java.net.URISyntaxException; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -36,10 +35,8 @@ public class DefaultLayoutParser extends AutoInstallsLayout { private static final String TAG_SHORTCUT = "shortcut"; private static final String TAG_FOLDER = "folder"; private static final String TAG_PARTNER_FOLDER = "partner-folder"; - private static final String TAG_INCLUDE = "include"; private static final String ATTR_URI = "uri"; - private static final String ATTR_WORKSPACE = "workspace"; private static final String ATTR_CONTAINER = "container"; private static final String ATTR_SCREEN = "screen"; private static final String ATTR_FOLDER_ITEMS = "folderItems"; @@ -84,25 +81,6 @@ public class DefaultLayoutParser extends AutoInstallsLayout { out[1] = Long.parseLong(getAttributeValue(parser, ATTR_SCREEN)); } - @Override - protected int parseAndAddNode( - XmlResourceParser parser, - HashMap tagParserMap, - ArrayList 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; - } - } else { - return super.parseAndAddNode(parser, tagParserMap, screenIds); - } - } - /** * AppShortcutParser which also supports adding URI based intents */ -- 2.11.0