Skip to content

Commit 035352b

Browse files
Adam CohenAndroid (Google) Code Review
authored andcommitted
Merge "Making sure keyguard and homescreen only display eligible widgets (issue 7550090)" into jb-mr1.1-dev
2 parents 5a36e06 + d9e5af3 commit 035352b

File tree

4 files changed

+17
-9
lines changed

4 files changed

+17
-9
lines changed

core/java/android/appwidget/AppWidgetManager.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,8 +544,19 @@ public void notifyAppWidgetViewDataChanged(int appWidgetId, int viewId) {
544544
* Return a list of the AppWidget providers that are currently installed.
545545
*/
546546
public List<AppWidgetProviderInfo> getInstalledProviders() {
547+
return getInstalledProviders(AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN);
548+
}
549+
550+
/**
551+
* Return a list of the AppWidget providers that are currently installed.
552+
*
553+
* @param categoryFilter Will only return providers which register as any of the specified
554+
* specified categories. See {@link AppWidgetProviderInfo#widgetCategory}.
555+
* @hide
556+
*/
557+
public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) {
547558
try {
548-
List<AppWidgetProviderInfo> providers = sService.getInstalledProviders();
559+
List<AppWidgetProviderInfo> providers = sService.getInstalledProviders(categoryFilter);
549560
for (AppWidgetProviderInfo info : providers) {
550561
// Converting complex to dp.
551562
info.minWidth =

core/java/com/android/internal/appwidget/IAppWidgetService.aidl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ interface IAppWidgetService {
4949
void partiallyUpdateAppWidgetIds(in int[] appWidgetIds, in RemoteViews views);
5050
void updateAppWidgetProvider(in ComponentName provider, in RemoteViews views);
5151
void notifyAppWidgetViewDataChanged(in int[] appWidgetIds, int viewId);
52-
List<AppWidgetProviderInfo> getInstalledProviders();
52+
List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter);
5353
AppWidgetProviderInfo getAppWidgetInfo(int appWidgetId);
5454
boolean hasBindAppWidgetPermission(in String packageName);
5555
void setBindAppWidgetPermission(in String packageName, in boolean permission);

services/java/com/android/server/AppWidgetService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,9 @@ public Bundle getAppWidgetOptions(int appWidgetId) {
281281
}
282282

283283
@Override
284-
public List<AppWidgetProviderInfo> getInstalledProviders() throws RemoteException {
285-
return getImplForUser(getCallingOrCurrentUserId()).getInstalledProviders();
284+
public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter)
285+
throws RemoteException {
286+
return getImplForUser(getCallingOrCurrentUserId()).getInstalledProviders(categoryFilter);
286287
}
287288

288289
@Override

services/java/com/android/server/AppWidgetServiceImpl.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -859,11 +859,7 @@ public RemoteViews getAppWidgetViews(int appWidgetId) {
859859
}
860860
}
861861

862-
public List<AppWidgetProviderInfo> getInstalledProviders() {
863-
return getInstalledProviders(AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN);
864-
}
865-
866-
private List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) {
862+
public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) {
867863
synchronized (mAppWidgetIds) {
868864
ensureStateLoadedLocked();
869865
final int N = mInstalledProviders.size();

0 commit comments

Comments
 (0)