Merge "Improve transition out of recents" into jb-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c8179e7805
@@ -27,12 +27,6 @@
|
||||
systemui:recentItemLayout="@layout/status_bar_recent_item"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/recents_transition_placeholder_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="invisible" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/recents_bg_protect"
|
||||
android:background="@drawable/status_bar_recents_background"
|
||||
@@ -42,6 +36,12 @@
|
||||
android:clipToPadding="false"
|
||||
android:clipChildren="false">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/recents_transition_placeholder_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="invisible" />
|
||||
|
||||
<com.android.systemui.recent.RecentsHorizontalScrollView android:id="@+id/recents_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
@@ -27,12 +27,6 @@
|
||||
systemui:recentItemLayout="@layout/status_bar_recent_item"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/recents_transition_placeholder_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="invisible" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/recents_bg_protect"
|
||||
android:background="@drawable/status_bar_recents_background"
|
||||
@@ -40,6 +34,12 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/recents_transition_placeholder_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="invisible" />
|
||||
|
||||
<com.android.systemui.recent.RecentsVerticalScrollView
|
||||
android:id="@+id/recents_container"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -102,12 +102,14 @@ import android.view.ViewRootImpl;
|
||||
builder.with(noRecentAppsFadeAnim);
|
||||
}
|
||||
|
||||
Drawable background = mScrimView.getBackground();
|
||||
if (background != null) {
|
||||
Animator bgAnim = ObjectAnimator.ofInt(background,
|
||||
"alpha", appearing ? 0 : 255, appearing ? 255 : 0);
|
||||
bgAnim.setDuration(appearing ? SCRIM_DURATION : CLOSE_DURATION);
|
||||
builder.with(bgAnim);
|
||||
if (appearing) {
|
||||
Drawable background = mScrimView.getBackground();
|
||||
if (background != null) {
|
||||
Animator bgAnim = ObjectAnimator.ofInt(background,
|
||||
"alpha", appearing ? 0 : 255, appearing ? 255 : 0);
|
||||
bgAnim.setDuration(appearing ? SCRIM_DURATION : CLOSE_DURATION);
|
||||
builder.with(bgAnim);
|
||||
}
|
||||
}
|
||||
mContentAnim.addListener(this);
|
||||
if (mListener != null) {
|
||||
|
||||
@@ -469,7 +469,7 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener
|
||||
Display d = ((WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE))
|
||||
.getDefaultDisplay();
|
||||
if (!ActivityManager.isHighEndGfx(d)) {
|
||||
mRecentsScrim.setBackgroundDrawable(null);
|
||||
mRecentsScrim.setBackground(null);
|
||||
} else if (mRecentsScrim.getBackground() instanceof BitmapDrawable) {
|
||||
// In order to save space, we make the background texture repeat in the Y direction
|
||||
((BitmapDrawable) mRecentsScrim.getBackground()).setTileModeY(TileMode.REPEAT);
|
||||
|
||||
@@ -3221,28 +3221,23 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
// Entering app zooms out from the center of the thumbnail.
|
||||
float scaleW = thumbWidth / mAppDisplayWidth;
|
||||
float scaleH = thumbHeight / mAppDisplayHeight;
|
||||
AnimationSet set = new AnimationSet(true);
|
||||
Animation scale = new ScaleAnimation(scaleW, 1, scaleH, 1,
|
||||
computePivot(mNextAppTransitionStartX, scaleW),
|
||||
computePivot(mNextAppTransitionStartY, scaleH));
|
||||
scale.setDuration(duration);
|
||||
scale.setFillBefore(true);
|
||||
set.addAnimation(scale);
|
||||
// Need to set an alpha animation on the entering app window
|
||||
// in case it appears one frame before the thumbnail window
|
||||
// (this solves flicker)
|
||||
Animation alpha = new AlphaAnimation(0, 1);
|
||||
alpha.setDuration(1);
|
||||
alpha.setFillAfter(true);
|
||||
set.addAnimation(alpha);
|
||||
a = set;
|
||||
if (delayDuration > 0) {
|
||||
a.setStartOffset(delayDuration);
|
||||
scale.setStartOffset(delayDuration);
|
||||
}
|
||||
a = scale;
|
||||
} else {
|
||||
a = createExitAnimationLocked(transit, duration);
|
||||
if (delayDuration > 0) {
|
||||
a.setStartOffset(delayDuration);
|
||||
if (delayed) {
|
||||
a = new AlphaAnimation(1, 0);
|
||||
a.setStartOffset(0);
|
||||
a.setDuration(delayDuration - 50);
|
||||
a.setBackgroundColor(0xFF000000);
|
||||
} else {
|
||||
a = createExitAnimationLocked(transit, duration);
|
||||
}
|
||||
}
|
||||
a.setFillAfter(true);
|
||||
|
||||
Reference in New Issue
Block a user