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

Commit 45e185a3 authored by Sid Soundararajan's avatar Sid Soundararajan Committed by android-build-merger
Browse files

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

am: 80295544

* commit '80295544':
  Fix issue with All Tasks Dismissed

Change-Id: Ic34c320380336916a80d115236cd9220167e2eb4
parents db95b32d 80295544
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