From f7cccfb1f83cd0409556ce3c0045402dcc304f0e Mon Sep 17 00:00:00 2001 From: Raj Yengisetty Date: Mon, 23 Jun 2014 13:34:36 -0700 Subject: Protected Folder Fragment: Add remove Shortcut from list. Change-Id: I0e9f141bc34bcfa955d7f5f3535d9d437e94b1da --- src/com/android/launcher3/Folder.java | 14 ++++++++++++++ src/com/android/launcher3/HiddenFolderFragment.java | 20 +++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index 9d7907c43..71183c342 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -1424,6 +1424,20 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList return mItemsInReadingOrder; } + public ShortcutInfo getShortcutForComponent(ComponentName componentName) { + for (View v : mItemsInReadingOrder) { + Object tag = v.getTag(); + if (tag instanceof ShortcutInfo) { + ComponentName cName = ((ShortcutInfo) tag).getIntent().getComponent(); + if (cName.equals(componentName)) { + return (ShortcutInfo) tag; + } + } + } + + return null; + } + public void getLocationInDragLayer(int[] loc) { mLauncher.getDragLayer().getLocationInDragLayer(this, loc); } diff --git a/src/com/android/launcher3/HiddenFolderFragment.java b/src/com/android/launcher3/HiddenFolderFragment.java index d43f61d23..07b0e4a8a 100644 --- a/src/com/android/launcher3/HiddenFolderFragment.java +++ b/src/com/android/launcher3/HiddenFolderFragment.java @@ -140,6 +140,16 @@ public class HiddenFolderFragment extends Fragment { return apps; } + private void removeComponentFromFolder(AppEntry app) { + mLauncher.mHiddenFolderIcon.getFolderInfo().remove( + mLauncher.mHiddenFolderIcon.getFolder() + .getShortcutForComponent(app.componentName)); + + mAppEntries.remove(app); + mAppsAdapter.remove(app); + mAppsAdapter.notifyDataSetInvalidated(); + } + public void saveHiddenFolderStatus(int position) { String newTitle = mFolderName.getText().toString(); if (mLauncher.mHiddenFolderIcon != null) { @@ -221,12 +231,18 @@ public class HiddenFolderFragment extends Fragment { viewHolder = (AppViewHolder) convertView.getTag(); } - AppEntry app = getItem(position); + final AppEntry app = getItem(position); viewHolder.title.setText(app.title); Drawable icon = mIcons.get(app.componentName.getPackageName()); viewHolder.icon.setImageDrawable(icon != null ? icon : mDefaultImg); + viewHolder.remove.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + removeComponentFromFolder(app); + } + }); convertView.setOnClickListener(new OnClickListener() { @Override @@ -314,10 +330,12 @@ public class HiddenFolderFragment extends Fragment { private static class AppViewHolder { public final TextView title; public final ImageView icon; + public final ImageView remove; public final int position; public AppViewHolder(View parentView, int position) { icon = (ImageView) parentView.findViewById(R.id.icon); + remove = (ImageView) parentView.findViewById(R.id.remove); title = (TextView) parentView.findViewById(R.id.title); this.position = position; } -- cgit v1.2.3