diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/appwidget/AppWidgetHost.java | 16 | ||||
-rw-r--r-- | core/java/com/android/internal/appwidget/IAppWidgetService.aidl | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/appwidget/AppWidgetHost.java b/core/java/android/appwidget/AppWidgetHost.java index cb61a71..24fd2e4 100644 --- a/core/java/android/appwidget/AppWidgetHost.java +++ b/core/java/android/appwidget/AppWidgetHost.java @@ -224,6 +224,22 @@ public class AppWidgetHost { } } + /** + * Gets a list of all the appWidgetIds that are bound to the current host + * + * @hide + */ + public int[] getAppWidgetIds() { + try { + if (sService == null) { + bindService(); + } + return sService.getAppWidgetIdsForHost(mHostId); + } catch (RemoteException e) { + throw new RuntimeException("system server dead?", e); + } + } + private static void checkCallerIsSystem() { int uid = Process.myUid(); if (UserHandle.getAppId(uid) == Process.SYSTEM_UID || uid == 0) { diff --git a/core/java/com/android/internal/appwidget/IAppWidgetService.aidl b/core/java/com/android/internal/appwidget/IAppWidgetService.aidl index cfb16fa..b63ad62 100644 --- a/core/java/com/android/internal/appwidget/IAppWidgetService.aidl +++ b/core/java/com/android/internal/appwidget/IAppWidgetService.aidl @@ -38,6 +38,7 @@ interface IAppWidgetService { void deleteHost(int hostId); void deleteAllHosts(); RemoteViews getAppWidgetViews(int appWidgetId); + int[] getAppWidgetIdsForHost(int hostId); // // for AppWidgetManager |