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/WidgetPreviewLoader.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/WidgetPreviewLoader.java')
-rw-r--r-- | src/com/android/launcher3/WidgetPreviewLoader.java | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/com/android/launcher3/WidgetPreviewLoader.java b/src/com/android/launcher3/WidgetPreviewLoader.java index 9cedae0f9..8f2d3edc3 100644 --- a/src/com/android/launcher3/WidgetPreviewLoader.java +++ b/src/com/android/launcher3/WidgetPreviewLoader.java @@ -333,7 +333,6 @@ public class WidgetPreviewLoader { sb.setLength(0); } else { sb.append(SHORTCUT_PREFIX); - ResolveInfo info = (ResolveInfo) o; sb.append(new ComponentName(info.activityInfo.packageName, info.activityInfo.name).flattenToString()); @@ -479,20 +478,19 @@ public class WidgetPreviewLoader { preview.getHeight() != mPreviewBitmapHeight)) { throw new RuntimeException("Improperly sized bitmap passed as argument"); } - if (info instanceof AppWidgetProviderInfo) { - return generateWidgetPreview((AppWidgetProviderInfo) info, preview); + if (info instanceof LauncherAppWidgetProviderInfo) { + return generateWidgetPreview((LauncherAppWidgetProviderInfo) info, preview); } else { return generateShortcutPreview( (ResolveInfo) info, mPreviewBitmapWidth, mPreviewBitmapHeight, preview); } } - public Bitmap generateWidgetPreview(AppWidgetProviderInfo info, Bitmap preview) { - int[] cellSpans = Launcher.getSpanForWidget(mContext, info); - int maxWidth = maxWidthForWidgetPreview(cellSpans[0]); - int maxHeight = maxHeightForWidgetPreview(cellSpans[1]); - return generateWidgetPreview(info, cellSpans[0], cellSpans[1], - maxWidth, maxHeight, preview, null); + public Bitmap generateWidgetPreview(LauncherAppWidgetProviderInfo info, Bitmap preview) { + int maxWidth = maxWidthForWidgetPreview(info.spanX); + int maxHeight = maxHeightForWidgetPreview(info.spanY); + return generateWidgetPreview(info, info.spanX, info.spanY, maxWidth, + maxHeight, preview, null); } public int maxWidthForWidgetPreview(int spanX) { @@ -505,7 +503,7 @@ public class WidgetPreviewLoader { mWidgetSpacingLayout.estimateCellHeight(spanY)); } - public Bitmap generateWidgetPreview(AppWidgetProviderInfo info, int cellHSpan, int cellVSpan, + public Bitmap generateWidgetPreview(LauncherAppWidgetProviderInfo info, int cellHSpan, int cellVSpan, int maxPreviewWidth, int maxPreviewHeight, Bitmap preview, int[] preScaledWidthOut) { // Load the preview image if possible if (maxPreviewWidth < 0) maxPreviewWidth = Integer.MAX_VALUE; |