PendingAddItemInfo.java revision 1f36270212e46b6ec0f27a0109ceaa9eb4a4995d
10280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka/*
20280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * Copyright (C) 2010 The Android Open Source Project
30280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka *
40280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * Licensed under the Apache License, Version 2.0 (the "License");
50280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * you may not use this file except in compliance with the License.
60280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * You may obtain a copy of the License at
70280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka *
80280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka *      http://www.apache.org/licenses/LICENSE-2.0
90280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka *
100280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * Unless required by applicable law or agreed to in writing, software
110280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * distributed under the License is distributed on an "AS IS" BASIS,
120280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * See the License for the specific language governing permissions and
140280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * limitations under the License.
150280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka */
160280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka
170280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurkapackage com.android.launcher2;
180280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka
19ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohenimport android.appwidget.AppWidgetHostView;
2068846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chungimport android.appwidget.AppWidgetProviderInfo;
210280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurkaimport android.content.ComponentName;
2255cef262f97749300c2f6e764da0b00cbcb78879Winson Chungimport android.os.Parcelable;
230280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka
240280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka/**
250280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * We pass this object with a drag from the customization tray
260280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka */
270280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurkaclass PendingAddItemInfo extends ItemInfo {
280280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka    /**
290280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka     * The component that will be created.
300280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka     */
310280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka    ComponentName componentName;
323e7c7634531302271270c8cf418abc959d621cbcMichael Jurka}
333e7c7634531302271270c8cf418abc959d621cbcMichael Jurka
343e7c7634531302271270c8cf418abc959d621cbcMichael Jurkaclass PendingAddWidgetInfo extends PendingAddItemInfo {
353e7c7634531302271270c8cf418abc959d621cbcMichael Jurka    int minWidth;
363e7c7634531302271270c8cf418abc959d621cbcMichael Jurka    int minHeight;
37d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen    int minResizeWidth;
38d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen    int minResizeHeight;
39038f9d8bfb53288e7cf5812f62ec3d5b25fec965Michael Jurka    int previewImage;
40038f9d8bfb53288e7cf5812f62ec3d5b25fec965Michael Jurka    int icon;
41ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen    AppWidgetProviderInfo info;
42ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen    AppWidgetHostView boundWidget;
4355cef262f97749300c2f6e764da0b00cbcb78879Winson Chung
4455cef262f97749300c2f6e764da0b00cbcb78879Winson Chung    // Any configuration data that we want to pass to a configuration activity when
4555cef262f97749300c2f6e764da0b00cbcb78879Winson Chung    // starting up a widget
4668846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung    String mimeType;
4755cef262f97749300c2f6e764da0b00cbcb78879Winson Chung    Parcelable configurationData;
4868846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung
49c9d95c5897fc5ebbf53903d4ab18ad13d196f643Michael Jurka    public PendingAddWidgetInfo(AppWidgetProviderInfo i, String dataMimeType, Parcelable data) {
5068846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
51ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen        this.info = i;
5268846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        componentName = i.provider;
5368846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        minWidth = i.minWidth;
5468846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        minHeight = i.minHeight;
55d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen        minResizeWidth = i.minResizeWidth;
56d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen        minResizeHeight = i.minResizeHeight;
57038f9d8bfb53288e7cf5812f62ec3d5b25fec965Michael Jurka        previewImage = i.previewImage;
58038f9d8bfb53288e7cf5812f62ec3d5b25fec965Michael Jurka        icon = i.icon;
5968846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        if (dataMimeType != null && data != null) {
6068846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung            mimeType = dataMimeType;
6168846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung            configurationData = data;
6268846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        }
6368846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung    }
641b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen
651b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen    // Copy constructor
661b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen    public PendingAddWidgetInfo(PendingAddWidgetInfo copy) {
671b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        minWidth = copy.minWidth;
681b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        minHeight = copy.minHeight;
69d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen        minResizeWidth = copy.minResizeWidth;
70d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen        minResizeHeight = copy.minResizeHeight;
711b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        previewImage = copy.previewImage;
721b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        icon = copy.icon;
731b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        info = copy.info;
741b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        boundWidget = copy.boundWidget;
751b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        mimeType = copy.mimeType;
761b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        configurationData = copy.configurationData;
771b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        componentName = copy.componentName;
781b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        itemType = copy.itemType;
791f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen        spanX = copy.spanX;
801f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen        spanY = copy.spanY;
811f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen        minSpanX = copy.minSpanX;
821f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen        minSpanY = copy.minSpanY;
831b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen    }
841b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen}
85