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;
23c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport android.appwidget.AppWidgetProviderInfo;
24c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport com.android.internal.appwidget.IAppWidgetHost;
25e8724c82ab1479f13c85a2c6219841e1fd95f2d2Adam Cohenimport android.os.Bundle;
2681f39eb6e76d0be1dd341af835e8002a0f80524eWinson Chungimport android.os.IBinder;
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.RemoteViews;
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** {@hide} */
30c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectinterface IAppWidgetService {
31a75a883fe9ea1790803148f0a561473073e3f264Jim Miller
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    //
33c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project    // for AppWidgetHost
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    //
35976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    int[] startListening(IAppWidgetHost host, String callingPackage, int hostId,
36976e8bd2017d0263216c62111454438cc0f130e3Svetoslav            out List<RemoteViews> updatedViews);
37976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void stopListening(String callingPackage, int hostId);
38976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    int allocateAppWidgetId(String callingPackage, int hostId);
39976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void deleteAppWidgetId(String callingPackage, int appWidgetId);
40976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void deleteHost(String packageName, int hostId);
41976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void deleteAllHosts();
42976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    RemoteViews getAppWidgetViews(String callingPackage, int appWidgetId);
43976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    int[] getAppWidgetIdsForHost(String callingPackage, int hostId);
448e1d299da27da534b508b1da51ebe351a689cefaSvetoslav    IntentSender createAppWidgetConfigIntentSender(String callingPackage, int appWidgetId,
458e1d299da27da534b508b1da51ebe351a689cefaSvetoslav            int intentFlags);
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    //
48c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project    // for AppWidgetManager
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    //
50976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void updateAppWidgetIds(String callingPackage, in int[] appWidgetIds, in RemoteViews views);
51976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void updateAppWidgetOptions(String callingPackage, int appWidgetId, in Bundle extras);
52976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    Bundle getAppWidgetOptions(String callingPackage, int appWidgetId);
53976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void partiallyUpdateAppWidgetIds(String callingPackage, in int[] appWidgetIds,
54976e8bd2017d0263216c62111454438cc0f130e3Svetoslav            in RemoteViews views);
55976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void updateAppWidgetProvider(in ComponentName provider, in RemoteViews views);
56976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void notifyAppWidgetViewDataChanged(String packageName, in int[] appWidgetIds, int viewId);
578e1d299da27da534b508b1da51ebe351a689cefaSvetoslav    List<AppWidgetProviderInfo> getInstalledProvidersForProfile(int categoryFilter,
588e1d299da27da534b508b1da51ebe351a689cefaSvetoslav            int profileId);
59976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    AppWidgetProviderInfo getAppWidgetInfo(String callingPackage, int appWidgetId);
60a75a883fe9ea1790803148f0a561473073e3f264Jim Miller    boolean hasBindAppWidgetPermission(in String packageName, int userId);
61976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void setBindAppWidgetPermission(in String packageName, int userId, in boolean permission);
62976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    boolean bindAppWidgetId(in String callingPackage, int appWidgetId,
63976e8bd2017d0263216c62111454438cc0f130e3Svetoslav            int providerProfileId, in ComponentName providerComponent, in Bundle options);
64976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void bindRemoteViewsService(String callingPackage, int appWidgetId, in Intent intent,
65976e8bd2017d0263216c62111454438cc0f130e3Svetoslav            in IBinder connection);
66976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    void unbindRemoteViewsService(String callingPackage, int appWidgetId, in Intent intent);
67976e8bd2017d0263216c62111454438cc0f130e3Svetoslav    int[] getAppWidgetIds(in ComponentName providerComponent);
689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
70