diff options
author | Tyson Miller <tmiller@cyngn.com> | 2015-11-10 08:59:15 -0800 |
---|---|---|
committer | Tyson Miller <tmiller@cyngn.com> | 2015-12-01 17:16:59 -0800 |
commit | 719deb83a0ac84422b68605f4d5c782865766aef (patch) | |
tree | fd3db92c9e10fa1665c2bb5c7f2e0b059ba79d5d /src/com/android/launcher3/AutoInstallsLayout.java | |
parent | b0bc788a4fc3d6d7a86ff3f286d8524e3fa2787c (diff) | |
download | android_packages_apps_Trebuchet-719deb83a0ac84422b68605f4d5c782865766aef.tar.gz android_packages_apps_Trebuchet-719deb83a0ac84422b68605f4d5c782865766aef.tar.bz2 android_packages_apps_Trebuchet-719deb83a0ac84422b68605f4d5c782865766aef.zip |
Trebuchet: dynamic folder type added
Issue-Id: CYNGNOS-1328
Change-Id: I09bf7bec119307f54836fedee8a1532627035d9a
Diffstat (limited to 'src/com/android/launcher3/AutoInstallsLayout.java')
-rw-r--r-- | src/com/android/launcher3/AutoInstallsLayout.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/com/android/launcher3/AutoInstallsLayout.java b/src/com/android/launcher3/AutoInstallsLayout.java index a5d22286d..b7a6d9ae9 100644 --- a/src/com/android/launcher3/AutoInstallsLayout.java +++ b/src/com/android/launcher3/AutoInstallsLayout.java @@ -82,6 +82,7 @@ public class AutoInstallsLayout { private static final String TAG_APP_ICON = "appicon"; private static final String TAG_AUTO_INSTALL = "autoinstall"; private static final String TAG_FOLDER = "folder"; + private static final String TAG_REMOTE_FOLDER = "remote-folder"; private static final String TAG_APPWIDGET = "appwidget"; private static final String TAG_SHORTCUT = "shortcut"; private static final String TAG_EXTRA = "extra"; @@ -257,6 +258,7 @@ public class AutoInstallsLayout { parsers.put(TAG_APP_ICON, new AppShortcutParser()); parsers.put(TAG_AUTO_INSTALL, new AutoInstallParser()); parsers.put(TAG_FOLDER, new FolderParser()); + parsers.put(TAG_REMOTE_FOLDER, new RemoteFolderParser()); parsers.put(TAG_APPWIDGET, new AppWidgetParser()); parsers.put(TAG_SHORTCUT, new ShortcutParser(mSourceRes)); return parsers; @@ -269,6 +271,8 @@ public class AutoInstallsLayout { */ long parseAndAdd(XmlResourceParser parser) throws XmlPullParserException, IOException; + + boolean isRemoteFolder(); } /** @@ -311,6 +315,11 @@ public class AutoInstallsLayout { } } + @Override + public boolean isRemoteFolder() { + return false; + } + /** * Helper method to allow extending the parser capabilities */ @@ -343,6 +352,11 @@ public class AutoInstallsLayout { return addShortcut(mContext.getString(R.string.package_state_unknown), intent, Favorites.ITEM_TYPE_APPLICATION); } + + @Override + public boolean isRemoteFolder() { + return false; + } } /** @@ -396,6 +410,11 @@ public class AutoInstallsLayout { } return new Intent(Intent.ACTION_VIEW, null).setData(Uri.parse(url)); } + + @Override + public boolean isRemoteFolder() { + return false; + } } /** @@ -488,6 +507,11 @@ public class AutoInstallsLayout { } return insertedId; } + + @Override + public boolean isRemoteFolder() { + return false; + } } protected class FolderParser implements TagParser { @@ -517,6 +541,11 @@ public class AutoInstallsLayout { mValues.put(Favorites.SPANX, 1); mValues.put(Favorites.SPANY, 1); mValues.put(Favorites._ID, mCallback.generateNewItemId()); + + if (isRemoteFolder()) { + mValues.put("subType", 1); + } + long folderId = mCallback.insertAndCheck(mDb, mValues); if (folderId < 0) { if (LOGD) Log.e(TAG, "Unable to add folder"); @@ -575,6 +604,11 @@ public class AutoInstallsLayout { } return addedId; } + + @Override + public boolean isRemoteFolder() { + return false; + } } protected static final void beginDocument(XmlPullParser parser, String firstElementName) @@ -630,4 +664,17 @@ public class AutoInstallsLayout { private static void copyInteger(ContentValues from, ContentValues to, String key) { to.put(key, from.getAsInteger(key)); } + + protected class RemoteFolderParser extends FolderParser { + + @Override + public long parseAndAdd(XmlResourceParser parser) throws XmlPullParserException, IOException { + return super.parseAndAdd(parser); + } + + @Override + public boolean isRemoteFolder() { + return true; + } + } } |