summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAbhisek Devkota <ciwrl@cyanogenmod.com>2014-06-23 21:26:31 +0000
committerGerrit Code Review <gerrit@cyanogenmod.org>2014-06-23 21:26:31 +0000
commit261b9c8773a653118085f43349b70b3d3176a881 (patch)
tree2489292b759ab923ea4e64cffb0e366f37a8583b
parent2f8b1730e98969459458baa32b5d50c67b2dc4bb (diff)
parentf7cccfb1f83cd0409556ce3c0045402dcc304f0e (diff)
downloadandroid_packages_apps_Trebuchet-261b9c8773a653118085f43349b70b3d3176a881.tar.gz
android_packages_apps_Trebuchet-261b9c8773a653118085f43349b70b3d3176a881.tar.bz2
android_packages_apps_Trebuchet-261b9c8773a653118085f43349b70b3d3176a881.zip
Merge "Protected Folder Fragment: Add remove Shortcut from list." into cm-11.0
-rw-r--r--res/drawable-hdpi/ic_remove.pngbin0 -> 931 bytes
-rw-r--r--res/drawable-mdpi/ic_remove.pngbin0 -> 646 bytes
-rw-r--r--res/drawable-xhdpi/ic_remove.pngbin0 -> 1403 bytes
-rw-r--r--res/drawable-xxhdpi/ic_remove.pngbin0 -> 2177 bytes
-rw-r--r--res/layout/hidden_folder_apps_list_item.xml9
-rw-r--r--src/com/android/launcher3/Folder.java14
-rw-r--r--src/com/android/launcher3/HiddenFolderFragment.java20
7 files changed, 40 insertions, 3 deletions
diff --git a/res/drawable-hdpi/ic_remove.png b/res/drawable-hdpi/ic_remove.png
new file mode 100644
index 000000000..d26b12b8f
--- /dev/null
+++ b/res/drawable-hdpi/ic_remove.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_remove.png b/res/drawable-mdpi/ic_remove.png
new file mode 100644
index 000000000..48c82fa1c
--- /dev/null
+++ b/res/drawable-mdpi/ic_remove.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_remove.png b/res/drawable-xhdpi/ic_remove.png
new file mode 100644
index 000000000..38a8705ad
--- /dev/null
+++ b/res/drawable-xhdpi/ic_remove.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_remove.png b/res/drawable-xxhdpi/ic_remove.png
new file mode 100644
index 000000000..ac36b34c0
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_remove.png
Binary files differ
diff --git a/res/layout/hidden_folder_apps_list_item.xml b/res/layout/hidden_folder_apps_list_item.xml
index 13441941e..f3af4ad1d 100644
--- a/res/layout/hidden_folder_apps_list_item.xml
+++ b/res/layout/hidden_folder_apps_list_item.xml
@@ -5,8 +5,7 @@
android:minHeight="48dp"
android:gravity="center_vertical"
android:paddingRight="?android:attr/scrollbarSize"
- android:background="?android:attr/selectableItemBackground"
- android:descendantFocusability="blocksDescendants">
+ android:background="?android:attr/selectableItemBackground">
<ImageView android:id="@+id/icon"
android:layout_width="40dp"
@@ -25,4 +24,10 @@
android:textAppearance="?android:attr/textAppearanceMedium"
android:ellipsize="marquee"
android:fadingEdge="horizontal" />
+
+ <ImageView android:id="@+id/remove"
+ android:layout_width="40dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center"
+ android:src="@drawable/ic_remove"/>
</LinearLayout> \ No newline at end of file
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;
}