Merge "Improve transition out of recents" into jb-dev

This commit is contained in:
Michael Jurka
2012-05-12 14:01:43 -07:00
committed by Android (Google) Code Review
5 changed files with 30 additions and 33 deletions

View File

@@ -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"

View File

@@ -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"

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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);