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; 23dd70d66852bb8bd16f55796e546ba290360d1198Adam Cohenimport android.os.Bundle; 2455cef262f97749300c2f6e764da0b00cbcb78879Winson Chungimport android.os.Parcelable; 250280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka 260280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka/** 270280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * We pass this object with a drag from the customization tray 280280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka */ 290280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurkaclass PendingAddItemInfo extends ItemInfo { 300280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka /** 310280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka * The component that will be created. 320280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka */ 330280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka ComponentName componentName; 343e7c7634531302271270c8cf418abc959d621cbcMichael Jurka} 353e7c7634531302271270c8cf418abc959d621cbcMichael Jurka 36dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurkaclass PendingAddShortcutInfo extends PendingAddItemInfo { 37dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka 38dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka ActivityInfo shortcutActivityInfo; 39dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka 40dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka public PendingAddShortcutInfo(ActivityInfo activityInfo) { 41dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka shortcutActivityInfo = activityInfo; 42dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka } 437ce9985d37e253a93617404d5991017e1ea81907Winson Chung 447ce9985d37e253a93617404d5991017e1ea81907Winson Chung @Override 457ce9985d37e253a93617404d5991017e1ea81907Winson Chung public String toString() { 467ce9985d37e253a93617404d5991017e1ea81907Winson Chung return "Shortcut: " + shortcutActivityInfo.packageName; 477ce9985d37e253a93617404d5991017e1ea81907Winson Chung } 48dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka} 49dac8591072959f69eaa8c6319311fd111ae75db6Michael Jurka 503e7c7634531302271270c8cf418abc959d621cbcMichael Jurkaclass PendingAddWidgetInfo extends PendingAddItemInfo { 51ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen AppWidgetProviderInfo info; 52ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen AppWidgetHostView boundWidget; 53dd70d66852bb8bd16f55796e546ba290360d1198Adam Cohen Bundle bindOptions = null; 5455cef262f97749300c2f6e764da0b00cbcb78879Winson Chung 5555cef262f97749300c2f6e764da0b00cbcb78879Winson Chung // Any configuration data that we want to pass to a configuration activity when 5655cef262f97749300c2f6e764da0b00cbcb78879Winson Chung // starting up a widget 5768846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung String mimeType; 5855cef262f97749300c2f6e764da0b00cbcb78879Winson Chung Parcelable configurationData; 5968846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung 60c9d95c5897fc5ebbf53903d4ab18ad13d196f643Michael Jurka public PendingAddWidgetInfo(AppWidgetProviderInfo i, String dataMimeType, Parcelable data) { 6168846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET; 62ed66b2bac7447febe2e405b4ce725cae4f6b5988Adam Cohen this.info = i; 6368846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung componentName = i.provider; 6468846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung if (dataMimeType != null && data != null) { 6568846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung mimeType = dataMimeType; 6668846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung configurationData = data; 6768846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung } 6868846fdce6c01bbe474bd0c8307e1ccaac161cbcWinson Chung } 691b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen 701b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen // Copy constructor 711b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen public PendingAddWidgetInfo(PendingAddWidgetInfo copy) { 721b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen info = copy.info; 731b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen boundWidget = copy.boundWidget; 741b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen mimeType = copy.mimeType; 751b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen configurationData = copy.configurationData; 761b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen componentName = copy.componentName; 771b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen itemType = copy.itemType; 781f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen spanX = copy.spanX; 791f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen spanY = copy.spanY; 801f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen minSpanX = copy.minSpanX; 811f36270212e46b6ec0f27a0109ceaa9eb4a4995dAdam Cohen minSpanY = copy.minSpanY; 82dd70d66852bb8bd16f55796e546ba290360d1198Adam Cohen bindOptions = copy.bindOptions == null ? null : (Bundle) copy.bindOptions.clone(); 831b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen } 847ce9985d37e253a93617404d5991017e1ea81907Winson Chung 857ce9985d37e253a93617404d5991017e1ea81907Winson Chung @Override 867ce9985d37e253a93617404d5991017e1ea81907Winson Chung public String toString() { 877ce9985d37e253a93617404d5991017e1ea81907Winson Chung return "Widget: " + componentName.toShortString(); 887ce9985d37e253a93617404d5991017e1ea81907Winson Chung } 891b36dc3f2bb643e3b9600755f1a98522e4efc2edAdam Cohen} 90