Merge "Small cleanup for notifications" into ub-launcher3-dorval

am: 904166fd1e

Change-Id: I1f7eecf94ca6dd495e8ebdb3f0a98354a833678d
This commit is contained in:
Tony Wickham
2017-03-16 19:27:26 +00:00
committed by android-build-merger
3 changed files with 17 additions and 21 deletions
@@ -198,15 +198,17 @@ public class NotificationFooterLayout extends FrameLayout {
// There are no more icons in the footer, so hide it.
PopupContainerWithArrow popup = PopupContainerWithArrow.getOpen(
Launcher.getLauncher(getContext()));
Animator collapseFooter = popup.reduceNotificationViewHeight(getHeight(),
getResources().getInteger(R.integer.config_removeNotificationViewDuration));
collapseFooter.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
((ViewGroup) getParent()).removeView(NotificationFooterLayout.this);
}
});
collapseFooter.start();
if (popup != null) {
Animator collapseFooter = popup.reduceNotificationViewHeight(getHeight(),
getResources().getInteger(R.integer.config_removeNotificationViewDuration));
collapseFooter.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
((ViewGroup) getParent()).removeView(NotificationFooterLayout.this);
}
});
collapseFooter.start();
}
}
}
@@ -23,7 +23,6 @@ import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import com.android.launcher3.ItemInfo;
@@ -85,8 +84,6 @@ public class NotificationItemView extends PopupItemView implements LogContainerP
MeasureSpec.makeMeasureSpec(newHeight, MeasureSpec.EXACTLY));
initializeBackgroundClipping(true /* force */);
invalidate();
} else {
((ViewGroup) getParent()).removeView(NotificationItemView.this);
}
}
});
@@ -568,7 +568,7 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
R.integer.config_removeNotificationViewDuration);
final int spacing = getResources().getDimensionPixelSize(R.dimen.popup_items_spacing);
removeNotification.play(reduceNotificationViewHeight(
mNotificationItemView.getHeight() + spacing, duration, mNotificationItemView));
mNotificationItemView.getHeight() + spacing, duration));
final View removeMarginView = mIsAboveIcon ? getItemViewAt(getItemCount() - 2)
: mNotificationItemView;
if (removeMarginView != null) {
@@ -588,6 +588,7 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
@Override
public void onAnimationEnd(Animator animation) {
removeView(mNotificationItemView);
mNotificationItemView = null;
if (getItemCount() == 0) {
close(false);
return;
@@ -612,19 +613,19 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
return LauncherAnimUtils.ofPropertyValuesHolder(
mArrow, new PropertyListBuilder().scale(scale).build());
}
/**
* Animates the height of the notification item and the translationY of other items accordingly.
*/
public Animator reduceNotificationViewHeight(int heightToRemove, int duration,
NotificationItemView notificationItem) {
public Animator reduceNotificationViewHeight(int heightToRemove, int duration) {
final int translateYBy = mIsAboveIcon ? heightToRemove : -heightToRemove;
AnimatorSet animatorSet = LauncherAnimUtils.createAnimatorSet();
animatorSet.play(notificationItem.animateHeightRemoval(heightToRemove));
animatorSet.play(mNotificationItemView.animateHeightRemoval(heightToRemove));
PropertyResetListener<View, Float> resetTranslationYListener
= new PropertyResetListener<>(TRANSLATION_Y, 0f);
for (int i = 0; i < getItemCount(); i++) {
final PopupItemView itemView = getItemViewAt(i);
if (!mIsAboveIcon && itemView == notificationItem) {
if (!mIsAboveIcon && itemView == mNotificationItemView) {
// The notification view is already in the right place when container is below icon.
continue;
}
@@ -647,10 +648,6 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
return animatorSet;
}
public Animator reduceNotificationViewHeight(int heightToRemove, int duration) {
return reduceNotificationViewHeight(heightToRemove, duration, mNotificationItemView);
}
@Override
public boolean supportsAppInfoDropTarget() {
return true;