summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/HiddenFolderFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/HiddenFolderFragment.java')
-rw-r--r--src/com/android/launcher3/HiddenFolderFragment.java41
1 files changed, 33 insertions, 8 deletions
diff --git a/src/com/android/launcher3/HiddenFolderFragment.java b/src/com/android/launcher3/HiddenFolderFragment.java
index 94e1d2dbf..279448cdb 100644
--- a/src/com/android/launcher3/HiddenFolderFragment.java
+++ b/src/com/android/launcher3/HiddenFolderFragment.java
@@ -20,7 +20,9 @@ import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.ArrayAdapter;
import android.widget.EditText;
+import android.widget.FrameLayout;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
@@ -115,6 +117,14 @@ public class HiddenFolderFragment extends Fragment {
mListView = (ListView) v.findViewById(R.id.hidden_apps_list);
mListView.setAdapter(mAppsAdapter);
+ // Apply insets
+ Launcher launcher = (Launcher) getActivity();
+ LinearLayout.LayoutParams llp =
+ (LinearLayout.LayoutParams) mListView.getLayoutParams();
+ llp.bottomMargin += ((FrameLayout.LayoutParams) launcher.getOverviewPanel()
+ .findViewById(R.id.settings_container).getLayoutParams()).bottomMargin;
+ mListView.setLayoutParams(llp);
+
return v;
}
@@ -128,16 +138,25 @@ public class HiddenFolderFragment extends Fragment {
private ArrayList<AppEntry> loadApps(List<Pair<ComponentName, CharSequence>> items) {
ArrayList<AppEntry> apps = new ArrayList<AppEntry>();
+ int pos = 0;
for (Pair<ComponentName, CharSequence> item : items) {
- apps.add(new AppEntry(item.first, item.second));
+ apps.add(new AppEntry(item.first, item.second, pos));
+ pos++;
}
return apps;
}
private void removeComponentFromFolder(AppEntry app) {
- mLauncher.mHiddenFolderIcon.getFolderInfo().remove(
- mLauncher.mHiddenFolderIcon.getFolder()
- .getShortcutForComponent(app.componentName));
+ ShortcutInfo info;
+ if (app.componentName != null) {
+ info = mLauncher.mHiddenFolderIcon.getFolder()
+ .getShortcutForComponent(app.componentName);
+ } else {
+ // Shortcut does not have componentName, use position since it maps to
+ // reading order position in the folder
+ info = mLauncher.mHiddenFolderIcon.getFolder().getShortcutForPosition(app.position);
+ }
+ mLauncher.mHiddenFolderIcon.getFolderInfo().remove(info);
mAppEntries.remove(app);
mAppsAdapter.remove(app);
@@ -227,7 +246,10 @@ public class HiddenFolderFragment extends Fragment {
viewHolder.title.setText(app.title);
- Drawable icon = mIcons.get(app.componentName.getPackageName());
+ Drawable icon = null;
+ if (app.componentName != null) {
+ icon = mIcons.get(app.componentName.getPackageName());
+ }
viewHolder.icon.setImageDrawable(icon != null ? icon : mDefaultImg);
viewHolder.remove.setOnClickListener(new OnClickListener() {
@Override
@@ -284,8 +306,9 @@ public class HiddenFolderFragment extends Fragment {
protected Void doInBackground(AppEntry... apps) {
for (AppEntry app : apps) {
try {
- if (mIcons.containsKey(app.componentName
- .getPackageName())) {
+ // Widget icons do not have a
+ if (app.componentName == null ||
+ mIcons.containsKey(app.componentName.getPackageName())) {
continue;
}
Drawable icon = mPackageManager
@@ -311,10 +334,12 @@ public class HiddenFolderFragment extends Fragment {
private final class AppEntry {
public final ComponentName componentName;
public final CharSequence title;
+ public final int position;
- public AppEntry(ComponentName component, CharSequence title) {
+ public AppEntry(ComponentName component, CharSequence title, int position) {
this.componentName = component;
this.title = title;
+ this.position = position;
}
}