mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-17 01:28:21 +00:00
Adding support for <include> tag in AutoInstall layout
Bug: 19121893 Change-Id: I760fa76d6e63c1aa0152e8cd710aba0d6ef4462a
This commit is contained in:
@@ -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<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];
|
||||
|
||||
@@ -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<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;
|
||||
}
|
||||
} else {
|
||||
return super.parseAndAddNode(parser, tagParserMap, screenIds);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* AppShortcutParser which also supports adding URI based intents
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user