From b24fa300250bd9b5d6498be0326c97190ecd4ae1 Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Mon, 17 Jul 2017 15:58:36 -0700 Subject: [PATCH] Fix crash when adding PinShortcutRequestActivityInfo to Folder. Bug: 63770450 Change-Id: Ibc7553933a53d8af459628add7644fbaf5820cb0 --- src/com/android/launcher3/folder/Folder.java | 11 ++++++++--- .../launcher3/widget/PendingAddShortcutInfo.java | 1 - 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index 459a585774..85792d4cc9 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -1359,8 +1359,11 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC } mContent.completePendingPageChanges(); - if (d.dragInfo instanceof PendingAddShortcutInfo) { - PendingAddShortcutInfo pasi = (PendingAddShortcutInfo) d.dragInfo; + PendingAddShortcutInfo pasi = d.dragInfo instanceof PendingAddShortcutInfo + ? (PendingAddShortcutInfo) d.dragInfo : null; + ShortcutInfo pasiSi = pasi != null ? pasi.activityInfo.createShortcutInfo() : null; + if (pasi != null && pasiSi == null) { + // There is no ShortcutInfo, so we have to go through a configuration activity. pasi.container = mInfo.id; pasi.rank = mEmptyCellRank; @@ -1370,7 +1373,9 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC mRearrangeOnClose = true; } else { final ShortcutInfo si; - if (d.dragInfo instanceof AppInfo) { + if (pasiSi != null) { + si = pasiSi; + } else if (d.dragInfo instanceof AppInfo) { // Came from all apps -- make a copy. si = ((AppInfo) d.dragInfo).makeShortcut(); } else { diff --git a/src/com/android/launcher3/widget/PendingAddShortcutInfo.java b/src/com/android/launcher3/widget/PendingAddShortcutInfo.java index e8f13a13ce..62b6903f7a 100644 --- a/src/com/android/launcher3/widget/PendingAddShortcutInfo.java +++ b/src/com/android/launcher3/widget/PendingAddShortcutInfo.java @@ -15,7 +15,6 @@ */ package com.android.launcher3.widget; -import com.android.launcher3.LauncherSettings; import com.android.launcher3.PendingAddItemInfo; import com.android.launcher3.compat.ShortcutConfigActivityInfo;