summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/folder
diff options
context:
space:
mode:
authorJon Miranda <jonmiranda@google.com>2017-07-17 15:58:36 -0700
committerJon Miranda <jonmiranda@google.com>2017-07-18 11:04:55 -0700
commitb24fa300250bd9b5d6498be0326c97190ecd4ae1 (patch)
tree8d9720a34fc8391e4cbee946b03d6e940720f8f4 /src/com/android/launcher3/folder
parent751ea1c10e8e2348a9c0d0a22f8b9df3c9416c1f (diff)
downloadandroid_packages_apps_Trebuchet-b24fa300250bd9b5d6498be0326c97190ecd4ae1.tar.gz
android_packages_apps_Trebuchet-b24fa300250bd9b5d6498be0326c97190ecd4ae1.tar.bz2
android_packages_apps_Trebuchet-b24fa300250bd9b5d6498be0326c97190ecd4ae1.zip
Fix crash when adding PinShortcutRequestActivityInfo to Folder.
Bug: 63770450 Change-Id: Ibc7553933a53d8af459628add7644fbaf5820cb0
Diffstat (limited to 'src/com/android/launcher3/folder')
-rw-r--r--src/com/android/launcher3/folder/Folder.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java
index 459a58577..85792d4cc 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 {