Merge "Making sure keyguard and homescreen only display eligible widgets (issue 7550090)" into jb-mr1.1-dev

This commit is contained in:
Adam Cohen
2012-11-28 17:47:22 -08:00
committed by Android (Google) Code Review
4 changed files with 17 additions and 9 deletions

View File

@@ -544,8 +544,19 @@ public class AppWidgetManager {
* Return a list of the AppWidget providers that are currently installed.
*/
public List<AppWidgetProviderInfo> getInstalledProviders() {
return getInstalledProviders(AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN);
}
/**
* Return a list of the AppWidget providers that are currently installed.
*
* @param categoryFilter Will only return providers which register as any of the specified
* specified categories. See {@link AppWidgetProviderInfo#widgetCategory}.
* @hide
*/
public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) {
try {
List<AppWidgetProviderInfo> providers = sService.getInstalledProviders();
List<AppWidgetProviderInfo> providers = sService.getInstalledProviders(categoryFilter);
for (AppWidgetProviderInfo info : providers) {
// Converting complex to dp.
info.minWidth =

View File

@@ -49,7 +49,7 @@ interface IAppWidgetService {
void partiallyUpdateAppWidgetIds(in int[] appWidgetIds, in RemoteViews views);
void updateAppWidgetProvider(in ComponentName provider, in RemoteViews views);
void notifyAppWidgetViewDataChanged(in int[] appWidgetIds, int viewId);
List<AppWidgetProviderInfo> getInstalledProviders();
List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter);
AppWidgetProviderInfo getAppWidgetInfo(int appWidgetId);
boolean hasBindAppWidgetPermission(in String packageName);
void setBindAppWidgetPermission(in String packageName, in boolean permission);

View File

@@ -281,8 +281,9 @@ class AppWidgetService extends IAppWidgetService.Stub
}
@Override
public List<AppWidgetProviderInfo> getInstalledProviders() throws RemoteException {
return getImplForUser(getCallingOrCurrentUserId()).getInstalledProviders();
public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter)
throws RemoteException {
return getImplForUser(getCallingOrCurrentUserId()).getInstalledProviders(categoryFilter);
}
@Override

View File

@@ -859,11 +859,7 @@ class AppWidgetServiceImpl {
}
}
public List<AppWidgetProviderInfo> getInstalledProviders() {
return getInstalledProviders(AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN);
}
private List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) {
public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) {
synchronized (mAppWidgetIds) {
ensureStateLoadedLocked();
final int N = mInstalledProviders.size();