diff --git a/src/com/cherish/settings/fragments/HAFRAppChooserAdapter.java b/src/com/cherish/settings/fragments/HAFRAppChooserAdapter.java index 4efc2cc..ab568a5 100644 --- a/src/com/cherish/settings/fragments/HAFRAppChooserAdapter.java +++ b/src/com/cherish/settings/fragments/HAFRAppChooserAdapter.java @@ -35,6 +35,7 @@ public abstract class HAFRAppChooserAdapter extends BaseAdapter implements Filte protected List mTemporarylist; boolean isUpdating; + boolean hasLauncherFilter = false; public HAFRAppChooserAdapter(Context context) { mContext = context; @@ -60,10 +61,14 @@ public abstract class HAFRAppChooserAdapter extends BaseAdapter implements Filte item.icon = info.applicationInfo.loadIcon(mPackageManager); item.packageName = info.packageName; final int index = Collections.binarySearch(temp, item); - if (index < 0) { - temp.add((-index - 1), item); - } else { - temp.add((index + 1), item); + final boolean isLauncherApp = + mPackageManager.getLaunchIntentForPackage(info.packageName) != null; + if (!hasLauncherFilter || isLauncherApp) { + if (index < 0) { + temp.add((-index - 1), item); + } else { + temp.add((index + 1), item); + } } } mHandler.post(new Runnable() { @@ -179,4 +184,8 @@ public abstract class HAFRAppChooserAdapter extends BaseAdapter implements Filte ImageView icon; TextView pkg; } + + protected void setLauncherFilter(boolean enabled) { + hasLauncherFilter = enabled; + } } diff --git a/src/com/cherish/settings/fragments/HAFRAppChooserDialog.java b/src/com/cherish/settings/fragments/HAFRAppChooserDialog.java index 7de57b9..a0e98ff 100644 --- a/src/com/cherish/settings/fragments/HAFRAppChooserDialog.java +++ b/src/com/cherish/settings/fragments/HAFRAppChooserDialog.java @@ -76,5 +76,9 @@ public abstract class HAFRAppChooserDialog extends Dialog { show(); } + public void setLauncherFilter(boolean enabled) { + dAdapter.setLauncherFilter(enabled); + } + public abstract void onListViewItemClick(HAFRAppChooserAdapter.AppItem info, int id); }