PendingAddItemInfo.java revision 7ce9985d37e253a93617404d5991017e1ea81907
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;
22dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurkaimport android.content.pm.ActivityInfo;
2355cef262f97749300c2f6e764da0b00cbcb78879Winson Chungimport android.os.Parcelable;
240280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka
250280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka/**
260280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * We pass this object with a drag from the customization tray
270280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka */
280280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurkaclass PendingAddItemInfo extends ItemInfo {
290280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka    /**
300280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka     * The component that will be created.
310280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka     */
320280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka    ComponentName componentName;
333e7c7634531302271270c8cf418abc959d621cbcMichael Jurka}
343e7c7634531302271270c8cf418abc959d621cbcMichael Jurka
35dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurkaclass PendingAddShortcutInfo extends PendingAddItemInfo {
36dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka
37dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka    ActivityInfo shortcutActivityInfo;
38dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka
39dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka    public PendingAddShortcutInfo(ActivityInfo activityInfo) {
40dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka        shortcutActivityInfo = activityInfo;
41dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka    }
427ce9985d37e253a93617404d5991017e1ea81907Winson Chung
437ce9985d37e253a93617404d5991017e1ea81907Winson Chung    @Override
447ce9985d37e253a93617404d5991017e1ea81907Winson Chung    public String toString() {
457ce9985d37e253a93617404d5991017e1ea81907Winson Chung        return "Shortcut: " + shortcutActivityInfo.packageName;
467ce9985d37e253a93617404d5991017e1ea81907Winson Chung    }
47dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka}
48dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka
493e7c7634531302271270c8cf418abc959d621cbcMichael Jurkaclass PendingAddWidgetInfo extends PendingAddItemInfo {
503e7c7634531302271270c8cf418abc959d621cbcMichael Jurka    int minWidth;
513e7c7634531302271270c8cf418abc959d621cbcMichael Jurka    int minHeight;
52d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen    int minResizeWidth;
53d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen    int minResizeHeight;
54038f9d8bfb53288e7cf5812f62ec3d5b25fec965Michael Jurka    int previewImage;
55038f9d8bfb53288e7cf5812f62ec3d5b25fec965Michael Jurka    int icon;
56ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen    AppWidgetProviderInfo info;
57ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen    AppWidgetHostView boundWidget;
5855cef262f97749300c2f6e764da0b00cbcb78879Winson Chung
5955cef262f97749300c2f6e764da0b00cbcb78879Winson Chung    // Any configuration data that we want to pass to a configuration activity when
6055cef262f97749300c2f6e764da0b00cbcb78879Winson Chung    // starting up a widget
6168846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung    String mimeType;
6255cef262f97749300c2f6e764da0b00cbcb78879Winson Chung    Parcelable configurationData;
6368846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung
64c9d95c5897fc5ebbf53903d4ab18ad13d196f643Michael Jurka    public PendingAddWidgetInfo(AppWidgetProviderInfo i, String dataMimeType, Parcelable data) {
6568846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
66ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen        this.info = i;
6768846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        componentName = i.provider;
6868846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        minWidth = i.minWidth;
6968846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        minHeight = i.minHeight;
70d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen        minResizeWidth = i.minResizeWidth;
71d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen        minResizeHeight = i.minResizeHeight;
72038f9d8bfb53288e7cf5812f62ec3d5b25fec965Michael Jurka        previewImage = i.previewImage;
73038f9d8bfb53288e7cf5812f62ec3d5b25fec965Michael Jurka        icon = i.icon;
7468846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        if (dataMimeType != null && data != null) {
7568846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung            mimeType = dataMimeType;
7668846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung            configurationData = data;
7768846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung        }
7868846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung    }
791b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen
801b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen    // Copy constructor
811b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen    public PendingAddWidgetInfo(PendingAddWidgetInfo copy) {
821b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        minWidth = copy.minWidth;
831b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        minHeight = copy.minHeight;
84d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen        minResizeWidth = copy.minResizeWidth;
85d41fbf5680750e34335bba6b38298186c144a4b7Adam Cohen        minResizeHeight = copy.minResizeHeight;
861b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        previewImage = copy.previewImage;
871b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        icon = copy.icon;
881b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        info = copy.info;
891b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        boundWidget = copy.boundWidget;
901b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        mimeType = copy.mimeType;
911b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        configurationData = copy.configurationData;
921b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        componentName = copy.componentName;
931b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen        itemType = copy.itemType;
941f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen        spanX = copy.spanX;
951f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen        spanY = copy.spanY;
961f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen        minSpanX = copy.minSpanX;
971f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen        minSpanY = copy.minSpanY;
981b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen    }
997ce9985d37e253a93617404d5991017e1ea81907Winson Chung
1007ce9985d37e253a93617404d5991017e1ea81907Winson Chung    @Override
1017ce9985d37e253a93617404d5991017e1ea81907Winson Chung    public String toString() {
1027ce9985d37e253a93617404d5991017e1ea81907Winson Chung        return "Widget: " + componentName.toShortString();
1037ce9985d37e253a93617404d5991017e1ea81907Winson Chung    }
1041b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen}
105