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

Commit 55b8b43f authored by Alex Chau's avatar Alex Chau
Browse files

Fix Select mode problem with animation off

- Avoid calling resetTaskVisuals when entering Modal state with animation off, it should only be called when leaving Overview, to be consistent with animation on case
- Use a separate property to control alpha for modalness, to avoid being overridden by other transition

Fix: 320314839
Test: presubmit
Flag: ACONFIG com.android.launcher3.enable_overview_icon_menu TEAMFOOD
Change-Id: I12a35682e25c3a70bc263afdc90a7895d6c56f11
parent b3e03b54
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -69,6 +69,7 @@ public final class RecentsViewStateController extends
        super.setState(state);
        super.setState(state);
        if (state.overviewUi) {
        if (state.overviewUi) {
            mRecentsView.updateEmptyMessage();
            mRecentsView.updateEmptyMessage();
        } else {
            mRecentsView.resetTaskVisuals();
            mRecentsView.resetTaskVisuals();
        }
        }
        setAlphas(PropertySetter.NO_ANIM_PROPERTY_SETTER, new StateAnimationConfig(), state);
        setAlphas(PropertySetter.NO_ANIM_PROPERTY_SETTER, new StateAnimationConfig(), state);
+7 −1
Original line number Original line Diff line number Diff line
@@ -52,9 +52,10 @@ public class IconAppChipView extends FrameLayout implements TaskViewIcon {
    private static final int MENU_BACKGROUND_REVEAL_DURATION = 417;
    private static final int MENU_BACKGROUND_REVEAL_DURATION = 417;
    private static final int MENU_BACKGROUND_HIDE_DURATION = 333;
    private static final int MENU_BACKGROUND_HIDE_DURATION = 333;


    private static final int NUM_ALPHA_CHANNELS = 2;
    private static final int NUM_ALPHA_CHANNELS = 3;
    private static final int INDEX_CONTENT_ALPHA = 0;
    private static final int INDEX_CONTENT_ALPHA = 0;
    private static final int INDEX_COLOR_FILTER_ALPHA = 1;
    private static final int INDEX_COLOR_FILTER_ALPHA = 1;
    private static final int INDEX_MODAL_ALPHA = 2;


    private final MultiValueAlpha mMultiValueAlpha;
    private final MultiValueAlpha mMultiValueAlpha;


@@ -306,6 +307,11 @@ public class IconAppChipView extends FrameLayout implements TaskViewIcon {
        mMultiValueAlpha.get(INDEX_CONTENT_ALPHA).setValue(alpha);
        mMultiValueAlpha.get(INDEX_CONTENT_ALPHA).setValue(alpha);
    }
    }


    @Override
    public void setModalAlpha(float alpha) {
        mMultiValueAlpha.get(INDEX_MODAL_ALPHA).setValue(alpha);
    }

    @Override
    @Override
    public int getDrawableWidth() {
    public int getDrawableWidth() {
        return mIconView == null ? 0 : mIconView.getDrawableWidth();
        return mIconView == null ? 0 : mIconView.getDrawableWidth();
+5 −0
Original line number Original line Diff line number Diff line
@@ -148,6 +148,11 @@ public class IconView extends View implements TaskViewIcon {
        setAlpha(alpha);
        setAlpha(alpha);
    }
    }


    @Override
    public void setModalAlpha(float alpha) {
        setAlpha(alpha);
    }

    @Override
    @Override
    public void setAlpha(float alpha) {
    public void setAlpha(float alpha) {
        super.setAlpha(alpha);
        super.setAlpha(alpha);
+1 −1
Original line number Original line Diff line number Diff line
@@ -632,7 +632,7 @@ public class TaskView extends FrameLayout implements Reusable {
            return;
            return;
        }
        }
        mModalness = modalness;
        mModalness = modalness;
        mIconView.setContentAlpha(1 - modalness);
        mIconView.setModalAlpha(1 - modalness);
        mDigitalWellBeingToast.updateBannerOffset(modalness);
        mDigitalWellBeingToast.updateBannerOffset(modalness);
    }
    }


+5 −0
Original line number Original line Diff line number Diff line
@@ -42,6 +42,11 @@ public interface TaskViewIcon {
     */
     */
    void setContentAlpha(float alpha);
    void setContentAlpha(float alpha);


    /**
     * Sets the opacity of the view for modal state.
     */
    void setModalAlpha(float alpha);

    /**
    /**
     * Returns this icon view's drawable.
     * Returns this icon view's drawable.
     */
     */