Loading packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java +46 −19 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.view.accessibility.AccessibilityEvent; import android.view.animation.AnimationUtils; import android.view.animation.DecelerateInterpolator; Loading Loading @@ -162,7 +164,7 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener if (convertView == null) { convertView = createView(parent); } ViewHolder holder = (ViewHolder) convertView.getTag(); final ViewHolder holder = (ViewHolder) convertView.getTag(); // index is reverse since most recent appears at the bottom... final int index = mRecentTaskDescriptions.size() - position - 1; Loading @@ -178,6 +180,24 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener } if (index == 0) { if (mAnimateIconOfFirstTask) { if (mItemToAnimateInWhenWindowAnimationIsFinished != null) { holder.iconView.setAlpha(1f); holder.iconView.setTranslationX(0f); holder.iconView.setTranslationY(0f); holder.labelView.setAlpha(1f); holder.labelView.setTranslationX(0f); holder.labelView.setTranslationY(0f); if (holder.calloutLine != null) { holder.calloutLine.setAlpha(1f); holder.calloutLine.setTranslationX(0f); holder.calloutLine.setTranslationY(0f); } } mItemToAnimateInWhenWindowAnimationIsFinished = null; final ViewTreeObserver observer = getViewTreeObserver(); final OnGlobalLayoutListener animateFirstIcon = new OnGlobalLayoutListener() { public void onGlobalLayout() { if (mItemToAnimateInWhenWindowAnimationIsFinished != null) { holder.iconView.setAlpha(1f); holder.iconView.setTranslationX(0f); Loading @@ -192,10 +212,13 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener } } mItemToAnimateInWhenWindowAnimationIsFinished = holder; final int translation = -getResources().getDimensionPixelSize( int translation = -getResources().getDimensionPixelSize( R.dimen.status_bar_recents_app_icon_translate_distance); final Configuration config = getResources().getConfiguration(); if (config.orientation == Configuration.ORIENTATION_PORTRAIT) { if (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { translation = -translation; } holder.iconView.setAlpha(0f); holder.iconView.setTranslationX(translation); holder.labelView.setAlpha(0f); Loading @@ -209,6 +232,10 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener if (!mWaitingForWindowAnimation) { animateInIconOfFirstTask(); } getViewTreeObserver().removeOnGlobalLayoutListener(this); } }; observer.addOnGlobalLayoutListener(animateFirstIcon); } } Loading packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +4 −0 Original line number Diff line number Diff line Loading @@ -597,6 +597,10 @@ public abstract class BaseStatusBar extends SystemUI implements y = (int) ((dm.heightPixels - statusBarHeight - height) / 2f + thumbTopMargin + recentsItemTopPadding + thumbBgPadding + statusBarHeight); } if (mLayoutDirection == View.LAYOUT_DIRECTION_RTL) { x = dm.widthPixels - x - res .getDimensionPixelSize(R.dimen.status_bar_recents_thumbnail_width); } ActivityOptions opts = ActivityOptions.makeThumbnailScaleDownAnimation( getStatusBarView(), Loading Loading
packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java +46 −19 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.view.accessibility.AccessibilityEvent; import android.view.animation.AnimationUtils; import android.view.animation.DecelerateInterpolator; Loading Loading @@ -162,7 +164,7 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener if (convertView == null) { convertView = createView(parent); } ViewHolder holder = (ViewHolder) convertView.getTag(); final ViewHolder holder = (ViewHolder) convertView.getTag(); // index is reverse since most recent appears at the bottom... final int index = mRecentTaskDescriptions.size() - position - 1; Loading @@ -178,6 +180,24 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener } if (index == 0) { if (mAnimateIconOfFirstTask) { if (mItemToAnimateInWhenWindowAnimationIsFinished != null) { holder.iconView.setAlpha(1f); holder.iconView.setTranslationX(0f); holder.iconView.setTranslationY(0f); holder.labelView.setAlpha(1f); holder.labelView.setTranslationX(0f); holder.labelView.setTranslationY(0f); if (holder.calloutLine != null) { holder.calloutLine.setAlpha(1f); holder.calloutLine.setTranslationX(0f); holder.calloutLine.setTranslationY(0f); } } mItemToAnimateInWhenWindowAnimationIsFinished = null; final ViewTreeObserver observer = getViewTreeObserver(); final OnGlobalLayoutListener animateFirstIcon = new OnGlobalLayoutListener() { public void onGlobalLayout() { if (mItemToAnimateInWhenWindowAnimationIsFinished != null) { holder.iconView.setAlpha(1f); holder.iconView.setTranslationX(0f); Loading @@ -192,10 +212,13 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener } } mItemToAnimateInWhenWindowAnimationIsFinished = holder; final int translation = -getResources().getDimensionPixelSize( int translation = -getResources().getDimensionPixelSize( R.dimen.status_bar_recents_app_icon_translate_distance); final Configuration config = getResources().getConfiguration(); if (config.orientation == Configuration.ORIENTATION_PORTRAIT) { if (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { translation = -translation; } holder.iconView.setAlpha(0f); holder.iconView.setTranslationX(translation); holder.labelView.setAlpha(0f); Loading @@ -209,6 +232,10 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener if (!mWaitingForWindowAnimation) { animateInIconOfFirstTask(); } getViewTreeObserver().removeOnGlobalLayoutListener(this); } }; observer.addOnGlobalLayoutListener(animateFirstIcon); } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +4 −0 Original line number Diff line number Diff line Loading @@ -597,6 +597,10 @@ public abstract class BaseStatusBar extends SystemUI implements y = (int) ((dm.heightPixels - statusBarHeight - height) / 2f + thumbTopMargin + recentsItemTopPadding + thumbBgPadding + statusBarHeight); } if (mLayoutDirection == View.LAYOUT_DIRECTION_RTL) { x = dm.widthPixels - x - res .getDimensionPixelSize(R.dimen.status_bar_recents_thumbnail_width); } ActivityOptions opts = ActivityOptions.makeThumbnailScaleDownAnimation( getStatusBarView(), Loading