diff options
author | Adam Cohen <adamcohen@google.com> | 2014-03-05 18:07:04 -0800 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2014-12-05 16:18:41 -0800 |
commit | 5940042d39b576553c2499bcf3d0641281e6ad52 (patch) | |
tree | 45eb331399dc9f0fd86f4a3dc58dada50fb9ec46 /src/com/android/launcher3/PendingAddItemInfo.java | |
parent | e64b0dfcd0d4113e9259b6270cff734089f4cd3f (diff) | |
download | android_packages_apps_Trebuchet-5940042d39b576553c2499bcf3d0641281e6ad52.tar.gz android_packages_apps_Trebuchet-5940042d39b576553c2499bcf3d0641281e6ad52.tar.bz2 android_packages_apps_Trebuchet-5940042d39b576553c2499bcf3d0641281e6ad52.zip |
Supporting custom widgets provided by launcher
-> This change provides integration for widgets provided by
the launcher package which can run arbitrary code.
Change-Id: I6052da5c4afed7ee72e3b44d045b9c46f2d84c42
Diffstat (limited to 'src/com/android/launcher3/PendingAddItemInfo.java')
-rw-r--r-- | src/com/android/launcher3/PendingAddItemInfo.java | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/com/android/launcher3/PendingAddItemInfo.java b/src/com/android/launcher3/PendingAddItemInfo.java index 967cc928e..ac54a262f 100644 --- a/src/com/android/launcher3/PendingAddItemInfo.java +++ b/src/com/android/launcher3/PendingAddItemInfo.java @@ -17,7 +17,6 @@ package com.android.launcher3; import android.appwidget.AppWidgetHostView; -import android.appwidget.AppWidgetProviderInfo; import android.content.ComponentName; import android.content.pm.ActivityInfo; import android.os.Bundle; @@ -54,17 +53,16 @@ class PendingAddWidgetInfo extends PendingAddItemInfo { int minResizeHeight; int previewImage; int icon; - AppWidgetProviderInfo info; + LauncherAppWidgetProviderInfo info; AppWidgetHostView boundWidget; Bundle bindOptions = null; - // Any configuration data that we want to pass to a configuration activity when - // starting up a widget - String mimeType; - Parcelable configurationData; - - public PendingAddWidgetInfo(AppWidgetProviderInfo i, String dataMimeType, Parcelable data) { - itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET; + public PendingAddWidgetInfo(LauncherAppWidgetProviderInfo i, Parcelable data) { + if (i.isCustomWidget) { + itemType = LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET; + } else { + itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET; + } this.info = i; componentName = i.provider; minWidth = i.minWidth; @@ -73,10 +71,15 @@ class PendingAddWidgetInfo extends PendingAddItemInfo { minResizeHeight = i.minResizeHeight; previewImage = i.previewImage; icon = i.icon; - if (dataMimeType != null && data != null) { - mimeType = dataMimeType; - configurationData = data; - } + + spanX = i.spanX; + spanY = i.spanY; + minSpanX = i.minSpanX; + minSpanY = i.minSpanY; + } + + public boolean isCustomWidget() { + return itemType == LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET; } // Copy constructor @@ -89,8 +92,6 @@ class PendingAddWidgetInfo extends PendingAddItemInfo { icon = copy.icon; info = copy.info; boundWidget = copy.boundWidget; - mimeType = copy.mimeType; - configurationData = copy.configurationData; componentName = copy.componentName; itemType = copy.itemType; spanX = copy.spanX; |