13f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song/*
23f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * Copyright (C) 2015 The Android Open Source Project
33f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song *
43f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * Licensed under the Apache License, Version 2.0 (the "License");
53f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * you may not use this file except in compliance with the License.
63f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * You may obtain a copy of the License at
73f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song *
83f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song *      http://www.apache.org/licenses/LICENSE-2.0
93f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song *
103f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * Unless required by applicable law or agreed to in writing, software
113f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * distributed under the License is distributed on an "AS IS" BASIS,
123f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * See the License for the specific language governing permissions and
143f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * limitations under the License.
153f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song */
163f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songpackage com.android.launcher3.widget;
173f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song
183f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songimport android.appwidget.AppWidgetHostView;
1916466f1bbb935d56c01b10551ead416feb7fc943Sunny Goyalimport android.content.Context;
203f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songimport android.os.Bundle;
213f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songimport android.os.Parcelable;
223f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song
232e6da1539bc7286336b3c24d96ab76434939ce4dAdam Cohenimport com.android.launcher3.Launcher;
243f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songimport com.android.launcher3.LauncherAppWidgetProviderInfo;
253f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songimport com.android.launcher3.LauncherSettings;
263f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songimport com.android.launcher3.PendingAddItemInfo;
27ffd0ab4da1c163d167ec2891753264040d0ca03dHyunyoung Songimport com.android.launcher3.compat.AppWidgetManagerCompat;
283f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song
293f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song/**
303f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * Meta data used for late binding of {@link LauncherAppWidgetProviderInfo}.
313f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song *
323f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song * @see {@link PendingAddItemInfo}
333f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song */
343f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songpublic class PendingAddWidgetInfo extends PendingAddItemInfo {
353f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song    public int previewImage;
363f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song    public int icon;
373f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song    public LauncherAppWidgetProviderInfo info;
383f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song    public AppWidgetHostView boundWidget;
393f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song    public Bundle bindOptions = null;
403f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song
4116466f1bbb935d56c01b10551ead416feb7fc943Sunny Goyal    public PendingAddWidgetInfo(Context context, LauncherAppWidgetProviderInfo i) {
423f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song        if (i.isCustomWidget) {
433f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song            itemType = LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET;
443f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song        } else {
453f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song            itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
463f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song        }
473f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song        this.info = i;
4816466f1bbb935d56c01b10551ead416feb7fc943Sunny Goyal        user = AppWidgetManagerCompat.getInstance(context).getUser(i);
493f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song        componentName = i.provider;
503f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song        previewImage = i.previewImage;
513f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song        icon = i.icon;
523f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song
53233ee964a9ecf419a3e8330a67456d422879132dSunny Goyal        spanX = i.spanX;
54233ee964a9ecf419a3e8330a67456d422879132dSunny Goyal        spanY = i.spanY;
55233ee964a9ecf419a3e8330a67456d422879132dSunny Goyal        minSpanX = i.minSpanX;
56233ee964a9ecf419a3e8330a67456d422879132dSunny Goyal        minSpanY = i.minSpanY;
573f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song    }
583f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song
593f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song    public boolean isCustomWidget() {
603f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song        return itemType == LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET;
613f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song    }
623f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song}
63