summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRaj Yengisetty <rajesh@cyngn.com>2014-06-23 13:34:36 -0700
committerRaj Yengisetty <rajesh@cyngn.com>2014-06-23 13:34:36 -0700
commitf7cccfb1f83cd0409556ce3c0045402dcc304f0e (patch)
treec9c92f71da08c141ea7291b56b398cb6a81a3078 /src
parent07856ffe95a4332534adf7bc7cf06f512816b9f8 (diff)
downloadandroid_packages_apps_Trebuchet-f7cccfb1f83cd0409556ce3c0045402dcc304f0e.tar.gz
android_packages_apps_Trebuchet-f7cccfb1f83cd0409556ce3c0045402dcc304f0e.tar.bz2
android_packages_apps_Trebuchet-f7cccfb1f83cd0409556ce3c0045402dcc304f0e.zip
Protected Folder Fragment: Add remove Shortcut from list.
Change-Id: I0e9f141bc34bcfa955d7f5f3535d9d437e94b1da
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Folder.java14
-rw-r--r--src/com/android/launcher3/HiddenFolderFragment.java20
2 files changed, 33 insertions, 1 deletions
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;
}