19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 281f39eb6e76d0be1dd341af835e8002a0f80524eWinson Chung * Copyright (C) 2011 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 17c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectpackage com.android.internal.appwidget; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.ComponentName; 2081f39eb6e76d0be1dd341af835e8002a0f80524eWinson Chungimport android.content.Intent; 21c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport android.appwidget.AppWidgetProviderInfo; 22c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport com.android.internal.appwidget.IAppWidgetHost; 23e8724c82ab1479f13c85a2c6219841e1fd95f2d2Adam Cohenimport android.os.Bundle; 2481f39eb6e76d0be1dd341af835e8002a0f80524eWinson Chungimport android.os.IBinder; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.RemoteViews; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** {@hide} */ 28c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectinterface IAppWidgetService { 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // 31c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project // for AppWidgetHost 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // 33c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project int[] startListening(IAppWidgetHost host, String packageName, int hostId, 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out List<RemoteViews> updatedViews); 35c566b43d02596cba437e9a2723e9f989297cca72Amith Yamasani int[] startListeningAsUser(IAppWidgetHost host, String packageName, int hostId, 36c566b43d02596cba437e9a2723e9f989297cca72Amith Yamasani out List<RemoteViews> updatedViews, int userId); 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void stopListening(int hostId); 38c566b43d02596cba437e9a2723e9f989297cca72Amith Yamasani void stopListeningAsUser(int hostId, int userId); 39c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project int allocateAppWidgetId(String packageName, int hostId); 40c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project void deleteAppWidgetId(int appWidgetId); 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void deleteHost(int hostId); 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void deleteAllHosts(); 43c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project RemoteViews getAppWidgetViews(int appWidgetId); 4475b5cfb4a41030333820d072578a288d4ec9899cMichael Jurka int[] getAppWidgetIdsForHost(int hostId); 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // 47c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project // for AppWidgetManager 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // 49c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project void updateAppWidgetIds(in int[] appWidgetIds, in RemoteViews views); 50d2097ebacf3a3658624cad10669a4d98e8d7d846Adam Cohen void updateAppWidgetOptions(int appWidgetId, in Bundle extras); 51d2097ebacf3a3658624cad10669a4d98e8d7d846Adam Cohen Bundle getAppWidgetOptions(int appWidgetId); 522dd2197805edb4d9547b143deef2226413218f4cAdam Cohen void partiallyUpdateAppWidgetIds(in int[] appWidgetIds, in RemoteViews views); 53c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project void updateAppWidgetProvider(in ComponentName provider, in RemoteViews views); 546394c0e52cf641d93f678fd052499aa952e3595dWinson Chung void notifyAppWidgetViewDataChanged(in int[] appWidgetIds, int viewId); 55d9e5af3851f592a00549b689dec325dc46268606Adam Cohen List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter); 56c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project AppWidgetProviderInfo getAppWidgetInfo(int appWidgetId); 5761a5b0160d9f2e53ef4d4b451212a63032dad32dMichael Jurka boolean hasBindAppWidgetPermission(in String packageName); 5861a5b0160d9f2e53ef4d4b451212a63032dad32dMichael Jurka void setBindAppWidgetPermission(in String packageName, in boolean permission); 590aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen void bindAppWidgetId(int appWidgetId, in ComponentName provider, in Bundle options); 6061a5b0160d9f2e53ef4d4b451212a63032dad32dMichael Jurka boolean bindAppWidgetIdIfAllowed( 610aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen in String packageName, int appWidgetId, in ComponentName provider, in Bundle options); 62c566b43d02596cba437e9a2723e9f989297cca72Amith Yamasani void bindRemoteViewsService(int appWidgetId, in Intent intent, in IBinder connection, int userId); 63c566b43d02596cba437e9a2723e9f989297cca72Amith Yamasani void unbindRemoteViewsService(int appWidgetId, in Intent intent, int userId); 64c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project int[] getAppWidgetIds(in ComponentName provider); 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68