Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5895a7e authored by Michael Jurka's avatar Michael Jurka
Browse files

Improve transition out of recents

- During the transition, fade the bg to black
- Exiting activity fades to black
- Recents background no longer fades away, because
then it would fight against the fade to black
happening behind it
parent 0891a897
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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"
+6 −6
Original line number Diff line number Diff line
@@ -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"
+8 −6
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ import android.view.ViewRootImpl;
            builder.with(noRecentAppsFadeAnim);
        }

        if (appearing) {
            Drawable background = mScrimView.getBackground();
            if (background != null) {
                Animator bgAnim = ObjectAnimator.ofInt(background,
@@ -109,6 +110,7 @@ import android.view.ViewRootImpl;
                bgAnim.setDuration(appearing ? SCRIM_DURATION : CLOSE_DURATION);
                builder.with(bgAnim);
            }
        }
        mContentAnim.addListener(this);
        if (mListener != null) {
            mContentAnim.addListener(mListener);
+1 −1
Original line number Diff line number Diff line
@@ -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);
+9 −14
Original line number Diff line number Diff line
@@ -3222,28 +3222,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 {
            if (delayed) {
                a = new AlphaAnimation(1, 0);
                a.setStartOffset(0);
                a.setDuration(delayDuration - 50);
                a.setBackgroundColor(0xFF000000);
            } else {
                a = createExitAnimationLocked(transit, duration);
            if (delayDuration > 0) {
                a.setStartOffset(delayDuration);
            }
        }
        a.setFillAfter(true);