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

Commit 80295544 authored by Sid Soundararajan's avatar Sid Soundararajan Committed by Android (Google) Code Review
Browse files

Merge "Fix issue with All Tasks Dismissed" into nyc-dev

parents 93c442e4 85b0a0f1
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import com.android.systemui.recents.tv.animations.HomeRecentsEnterExitAnimationH
import com.android.systemui.recents.tv.views.RecentsTvView;
import com.android.systemui.recents.tv.views.TaskStackHorizontalGridView;
import com.android.systemui.recents.tv.views.TaskStackHorizontalViewAdapter;
import com.android.systemui.recents.views.AnimationProps;
import com.android.systemui.statusbar.BaseStatusBar;
import com.android.systemui.tv.pip.PipManager;
import com.android.systemui.tv.pip.PipRecentsOverlayManager;
@@ -246,7 +247,7 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener {
        dismissEvent.addPostAnimationCallback(mFinishLaunchHomeRunnable);
        dismissEvent.addPostAnimationCallback(closeSystemWindows);

        if(mTaskStackHorizontalGridView.getChildCount() > 0) {
        if(mTaskStackHorizontalGridView.getChildCount() > 0 && animateTaskViews) {
            mHomeRecentsEnterExitAnimationHolder.startExitAnimation(dismissEvent);
        } else {
            closeSystemWindows.run();
@@ -494,12 +495,10 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener {
    }

    public final void onBusEvent(AllTaskViewsDismissedEvent event) {
        SystemServicesProxy ssp = Recents.getSystemServices();
        if (ssp.hasDockedTask()) {
        if (mPipManager.isPipShown()) {
            mRecentsView.showEmptyView();
        } else {
            // Just go straight home (no animation necessary because there are no more task views)
            dismissRecentsToHome(false /* animateTaskViews */);
            dismissRecentsToHome(false);
        }
    }

+11 −5
Original line number Diff line number Diff line
@@ -26,13 +26,13 @@ import com.android.systemui.R;

public class DismissAnimationsHolder {
    private LinearLayout mDismissArea;
    private LinearLayout mTaskCardView;
    private LinearLayout mRecentsTvCard;
    private int mCardYDelta;
    private long mShortDuration;
    private long mLongDuration;

    public DismissAnimationsHolder(TaskCardView taskCardView) {
        mTaskCardView = (LinearLayout) taskCardView.findViewById(R.id.recents_tv_card);
        mRecentsTvCard = (LinearLayout) taskCardView.findViewById(R.id.recents_tv_card);
        mDismissArea = (LinearLayout) taskCardView.findViewById(R.id.card_dismiss);

        Resources res = taskCardView.getResources();
@@ -47,7 +47,7 @@ public class DismissAnimationsHolder {
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .alpha(1.0f);

        mTaskCardView.animate()
        mRecentsTvCard.animate()
                .setDuration(mShortDuration)
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .translationYBy(mCardYDelta)
@@ -60,7 +60,7 @@ public class DismissAnimationsHolder {
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .alpha(0.0f);

        mTaskCardView.animate()
        mRecentsTvCard.animate()
                .setDuration(mShortDuration)
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .translationYBy(-mCardYDelta)
@@ -73,11 +73,17 @@ public class DismissAnimationsHolder {
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .alpha(0.0f);

        mTaskCardView.animate()
        mRecentsTvCard.animate()
                .setDuration(mLongDuration)
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .translationYBy(mCardYDelta)
                .alpha(0.0f)
                .setListener(listener);
    }

    public void reset() {
        mRecentsTvCard.setAlpha(1.0f);
        mRecentsTvCard.setTranslationY(0);
        mRecentsTvCard.animate().setListener(null);
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -252,6 +252,7 @@ public class RecentsTvView extends FrameLayout {
            TaskStackHorizontalViewAdapter taskStackViewAdapter) {
        if (mTaskStackHorizontalView != null) {
            mTaskStackHorizontalView.setAdapter(taskStackViewAdapter);
            taskStackViewAdapter.setTaskStackHorizontalGridView(mTaskStackHorizontalView);
        }
        return mTaskStackHorizontalView;
    }
+7 −0
Original line number Diff line number Diff line
@@ -189,6 +189,7 @@ public class TaskCardView extends LinearLayout {
    }

    public void startDismissTaskAnimation(Animator.AnimatorListener listener) {
        mDismissState = false;
        mDismissAnimationsHolder.startDismissAnimation(listener);
    }

@@ -201,4 +202,10 @@ public class TaskCardView extends LinearLayout {
        super.onDetachedFromWindow();
        setDismissState(false);
    }

    public void reset() {
        mDismissState = false;
        mRecentsRowFocusAnimationHolder.reset();
        mDismissAnimationsHolder.reset();
    }
}
+3 −2
Original line number Diff line number Diff line
@@ -179,13 +179,14 @@ public class TaskStackHorizontalGridView extends HorizontalGridView implements T

    @Override
    public void onStackTaskAdded(TaskStack stack, Task newTask) {
        getAdapter().notifyItemInserted(stack.getStackTasks().indexOf(newTask));
        ((TaskStackHorizontalViewAdapter) getAdapter()).addTaskAt(newTask,
                stack.indexOfStackTask(newTask));
    }

    @Override
    public void onStackTaskRemoved(TaskStack stack, Task removedTask, boolean wasFrontMostTask,
            Task newFrontMostTask, AnimationProps animation, boolean fromDockGesture) {
        getAdapter().notifyItemRemoved(stack.getStackTasks().indexOf(removedTask));
        ((TaskStackHorizontalViewAdapter) getAdapter()).removeTask(removedTask);
        if (mFocusedTask == removedTask) {
            resetFocusedTask(removedTask);
        }
Loading