Merge "Do not animate icon if work profile is disabled Bug: 119884907" into ub-launcher3-master

This commit is contained in:
Hyunyoung Song 2019-01-04 01:58:03 +00:00 committed by Android (Google) Code Review
commit e5f39898a9
3 changed files with 32 additions and 5 deletions

View File

@ -204,7 +204,15 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag
mLauncher.getStateManager().setCurrentAnimation(anim);
Rect windowTargetBounds = getWindowTargetBounds(targetCompats);
playIconAnimators(anim, v, windowTargetBounds);
boolean isAllOpeningTargetTrs = true;
for (int i = 0; i < targetCompats.length; i++) {
RemoteAnimationTargetCompat target = targetCompats[i];
if (target.mode == MODE_OPENING) {
isAllOpeningTargetTrs &= target.isTranslucent;
}
if (!isAllOpeningTargetTrs) break;
}
playIconAnimators(anim, v, windowTargetBounds, !isAllOpeningTargetTrs);
if (launcherClosing) {
Pair<AnimatorSet, Runnable> launcherContentAnimator =
getLauncherContentAnimator(true /* isAppOpening */);
@ -432,7 +440,8 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag
/**
* Animators for the "floating view" of the view used to launch the target.
*/
private void playIconAnimators(AnimatorSet appOpenAnimator, View v, Rect windowTargetBounds) {
private void playIconAnimators(AnimatorSet appOpenAnimator, View v, Rect windowTargetBounds,
boolean toggleVisibility) {
final boolean isBubbleTextView = v instanceof BubbleTextView;
mFloatingView = new View(mLauncher);
if (isBubbleTextView && v.getTag() instanceof ItemInfoWithIcon ) {
@ -485,7 +494,9 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag
// Swap the two views in place.
((ViewGroup) mDragLayer.getParent()).addView(mFloatingView);
v.setVisibility(View.INVISIBLE);
if (toggleVisibility) {
v.setVisibility(View.INVISIBLE);
}
int[] dragLayerBounds = new int[2];
mDragLayer.getLocationOnScreen(dragLayerBounds);

View File

@ -341,6 +341,14 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
refreshDrawableState();
}
@Override
public void onVisibilityAggregated(boolean isVisible) {
super.onVisibilityAggregated(isVisible);
if (mIcon != null) {
mIcon.setVisible(getWindowVisibility() == VISIBLE && isShown(), false);
}
}
@Override
public void onLauncherResume() {
// Reset the pressed state of icon that was locked in the press state while activity

View File

@ -17,6 +17,7 @@
package com.android.launcher3;
import static com.android.launcher3.anim.Interpolators.ACCEL;
import static com.android.launcher3.anim.Interpolators.DEACCEL;
import android.animation.ObjectAnimator;
import android.graphics.Bitmap;
@ -221,8 +222,15 @@ public class FastBitmapDrawable extends Drawable {
mScaleAnimation.setInterpolator(ACCEL);
mScaleAnimation.start();
} else {
mScale = 1f;
invalidateSelf();
if (isVisible()) {
mScaleAnimation = ObjectAnimator.ofFloat(this, SCALE, 1f);
mScaleAnimation.setDuration(CLICK_FEEDBACK_DURATION);
mScaleAnimation.setInterpolator(DEACCEL);
mScaleAnimation.start();
} else {
mScale = 1f;
invalidateSelf();
}
}
return true;
}