diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-02-28 04:00:50 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-02-28 04:00:50 +0000 |
commit | 3e3e87e6aa851a9fb3865a919a59581326e7127e (patch) | |
tree | f184799430b95f22049aed2eeaed4305986a052e /quickstep | |
parent | efa671294e8ac67a0554ff5679255ee8c9bf747d (diff) | |
parent | 93e9dbddc554bcb851c6ff6c838a199239249fa1 (diff) | |
download | android_packages_apps_Trebuchet-3e3e87e6aa851a9fb3865a919a59581326e7127e.tar.gz android_packages_apps_Trebuchet-3e3e87e6aa851a9fb3865a919a59581326e7127e.tar.bz2 android_packages_apps_Trebuchet-3e3e87e6aa851a9fb3865a919a59581326e7127e.zip |
Merge "Fix app opening transition for deep shortcuts." into ub-launcher3-master
Diffstat (limited to 'quickstep')
-rw-r--r-- | quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java b/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java index f22cc48c8..fea83d630 100644 --- a/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java +++ b/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java @@ -50,6 +50,8 @@ import com.android.launcher3.anim.Interpolators; import com.android.launcher3.anim.PropertyListBuilder; import com.android.launcher3.dragndrop.DragLayer; import com.android.launcher3.graphics.DrawableFactory; +import com.android.launcher3.shortcuts.DeepShortcutTextView; +import com.android.launcher3.shortcuts.DeepShortcutView; import com.android.quickstep.RecentsAnimationInterpolator; import com.android.quickstep.RecentsAnimationInterpolator.TaskWindowBounds; import com.android.quickstep.RecentsView; @@ -494,7 +496,7 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag * @return Animator that controls the icon used to launch the target. */ private AnimatorSet getIconAnimator(View v) { - boolean isBubbleTextView = v instanceof BubbleTextView; + final boolean isBubbleTextView = v instanceof BubbleTextView; mFloatingView = new View(mLauncher); if (isBubbleTextView && v.getTag() instanceof ItemInfoWithIcon ) { // Create a copy of the app icon @@ -506,14 +508,24 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag // Position the floating view exactly on top of the original Rect rect = new Rect(); - mDragLayer.getDescendantRectRelativeToSelf(v, rect); - int viewLocationStart = mIsRtl + final boolean isDeepShortcutTextView = v instanceof DeepShortcutTextView + && v.getParent() != null && v.getParent() instanceof DeepShortcutView; + if (isDeepShortcutTextView) { + // Deep shortcut views have their icon drawn in a sibling view. + DeepShortcutView view = (DeepShortcutView) v.getParent(); + mDragLayer.getDescendantRectRelativeToSelf(view.getIconView(), rect); + } else { + mDragLayer.getDescendantRectRelativeToSelf(v, rect); + } + final int viewLocationStart = mIsRtl ? mDeviceProfile.widthPx - rect.right : rect.left; - int viewLocationTop = rect.top; + final int viewLocationTop = rect.top; - if (isBubbleTextView) { + if (isBubbleTextView && !isDeepShortcutTextView) { ((BubbleTextView) v).getIconBounds(rect); + } else { + rect.set(0, 0, rect.width(), rect.height()); } LayoutParams lp = new LayoutParams(rect.width(), rect.height()); lp.ignoreInsets = true; |