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; 21976e8bd2017d0263216c62111454438cc0f130e3Svetoslavimport android.content.IntentSender; 22976e8bd2017d0263216c62111454438cc0f130e3Svetoslavimport android.content.pm.ApplicationInfo; 23ccf6c6814736e368949b64aadce676ab6d045fdcHyunyoung Songimport android.content.pm.ParceledListSlice; 24c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport android.appwidget.AppWidgetProviderInfo; 25c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport com.android.internal.appwidget.IAppWidgetHost; 26e8724c82ab1479f13c85a2c6219841e1fd95f2d2Adam Cohenimport android.os.Bundle; 2781f39eb6e76d0be1dd341af835e8002a0f80524eWinson Chungimport android.os.IBinder; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.RemoteViews; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** {@hide} */ 31c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectinterface IAppWidgetService { 32a75a883fe9ea1790803148f0a561473073e3f264Jim Miller 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // 34c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project // for AppWidgetHost 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // 362857f1c783e69461735a51159f9abdb85378e210Sunny Goyal ParceledListSlice startListening(IAppWidgetHost host, String callingPackage, int hostId, 376d1b41d477ec9426f84ea2dad27cdbb714761da2Sunny Goyal in int[] appWidgetIds); 38976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void stopListening(String callingPackage, int hostId); 39976e8bd2017d0263216c62111454438cc0f130e3Svetoslav int allocateAppWidgetId(String callingPackage, int hostId); 40976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void deleteAppWidgetId(String callingPackage, int appWidgetId); 41976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void deleteHost(String packageName, int hostId); 42976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void deleteAllHosts(); 43976e8bd2017d0263216c62111454438cc0f130e3Svetoslav RemoteViews getAppWidgetViews(String callingPackage, int appWidgetId); 44976e8bd2017d0263216c62111454438cc0f130e3Svetoslav int[] getAppWidgetIdsForHost(String callingPackage, int hostId); 458e1d299da27da534b508b1da51ebe351a689cefaSvetoslav IntentSender createAppWidgetConfigIntentSender(String callingPackage, int appWidgetId, 468e1d299da27da534b508b1da51ebe351a689cefaSvetoslav int intentFlags); 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // 49c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project // for AppWidgetManager 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // 51976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void updateAppWidgetIds(String callingPackage, in int[] appWidgetIds, in RemoteViews views); 52976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void updateAppWidgetOptions(String callingPackage, int appWidgetId, in Bundle extras); 53976e8bd2017d0263216c62111454438cc0f130e3Svetoslav Bundle getAppWidgetOptions(String callingPackage, int appWidgetId); 54976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void partiallyUpdateAppWidgetIds(String callingPackage, in int[] appWidgetIds, 55976e8bd2017d0263216c62111454438cc0f130e3Svetoslav in RemoteViews views); 56976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void updateAppWidgetProvider(in ComponentName provider, in RemoteViews views); 57976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void notifyAppWidgetViewDataChanged(String packageName, in int[] appWidgetIds, int viewId); 58a41da04b2d3eb6d746bb357925ec5d4d2a72998cTony Wickham ParceledListSlice getInstalledProvidersForProfile(int categoryFilter, int profileId, 59a41da04b2d3eb6d746bb357925ec5d4d2a72998cTony Wickham String packageName); 60976e8bd2017d0263216c62111454438cc0f130e3Svetoslav AppWidgetProviderInfo getAppWidgetInfo(String callingPackage, int appWidgetId); 61a75a883fe9ea1790803148f0a561473073e3f264Jim Miller boolean hasBindAppWidgetPermission(in String packageName, int userId); 62976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void setBindAppWidgetPermission(in String packageName, int userId, in boolean permission); 63976e8bd2017d0263216c62111454438cc0f130e3Svetoslav boolean bindAppWidgetId(in String callingPackage, int appWidgetId, 64976e8bd2017d0263216c62111454438cc0f130e3Svetoslav int providerProfileId, in ComponentName providerComponent, in Bundle options); 65976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void bindRemoteViewsService(String callingPackage, int appWidgetId, in Intent intent, 66976e8bd2017d0263216c62111454438cc0f130e3Svetoslav in IBinder connection); 67976e8bd2017d0263216c62111454438cc0f130e3Svetoslav void unbindRemoteViewsService(String callingPackage, int appWidgetId, in Intent intent); 68976e8bd2017d0263216c62111454438cc0f130e3Svetoslav int[] getAppWidgetIds(in ComponentName providerComponent); 69e4a8da8ea241858b52d8122480316db79582c44dAmith Yamasani boolean isBoundWidgetPackage(String packageName, int userId); 7087a563e0707bb7e2be034c195e9827dfe3451cfdSunny Goyal boolean requestPinAppWidget(String packageName, in ComponentName providerComponent, 714ad6b57700bef4c484021f49e018117046562e6bSunny Goyal in Bundle extras, in IntentSender resultIntent); 727f7372ae2abeecb564d426ec3efbfa039c797885Sunny Goyal boolean isRequestPinAppWidgetSupported(); 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 75