Allow Launcher class to hide activities from All Apps

There are a few questions for the launcher team
embedded in comments.

Bug: 10645210
Bug: 10551568
Change-Id: I67ad10da0d0f0f0885f8b14d329231c37aa6779b
This commit is contained in:
Bjorn Bringert
2013-09-06 12:50:05 +01:00
parent c07a0dc6dd
commit 85f418d0f5
2 changed files with 15 additions and 3 deletions

View File

@@ -45,6 +45,7 @@ import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.ContentObserver;
@@ -3907,6 +3908,11 @@ public class Launcher extends Activity
}
}
@Override
public boolean shouldShowApp(ResolveInfo app) {
return true;
}
/**
* A package was updated.
*

View File

@@ -156,6 +156,7 @@ public class LauncherModel extends BroadcastReceiver {
public void bindFolders(HashMap<Long,FolderInfo> folders);
public void finishBindingItems(boolean upgradePath);
public void bindAppWidget(LauncherAppWidgetInfo info);
public boolean shouldShowApp(ResolveInfo app);
public void bindAllApplications(ArrayList<AppInfo> apps);
public void bindAppsAdded(ArrayList<Long> newScreens,
ArrayList<ItemInfo> addNotAnimated,
@@ -2427,6 +2428,7 @@ public class LauncherModel extends BroadcastReceiver {
private void loadAllApps() {
final long loadTime = DEBUG_LOADERS ? SystemClock.uptimeMillis() : 0;
// "two variables"?
// Don't use these two variables in any of the callback runnables.
// Otherwise we hold a reference to them.
final Callbacks oldCallbacks = mCallbacks.get();
@@ -2466,11 +2468,15 @@ public class LauncherModel extends BroadcastReceiver {
// Create the ApplicationInfos
for (int i = 0; i < apps.size(); i++) {
// This builds the icon bitmaps.
mBgAllAppsList.add(new AppInfo(packageManager, apps.get(i),
mIconCache, mLabelCache));
ResolveInfo app = apps.get(i);
if (oldCallbacks.shouldShowApp(app)) {
// This builds the icon bitmaps.
mBgAllAppsList.add(new AppInfo(packageManager, app,
mIconCache, mLabelCache));
}
}
// Huh? Shouldn't this be inside the Runnable below?
final Callbacks callbacks = tryGetCallbacks(oldCallbacks);
final ArrayList<AppInfo> added = mBgAllAppsList.added;
mBgAllAppsList.added = new ArrayList<AppInfo>();