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

Commit 6a14189b authored by Brandon Dayauon's avatar Brandon Dayauon
Browse files

Fix "Pause work apps" button in strange location

The issue why the button sticks up is because of the translation not resetting when closing
All apps.
- This CL resets ime insets and the position of the button to the original location.

bug: 278722407
test: manual - before:https://drive.google.com/file/d/1_L4ICHrt582KcVcpvQDK9HciC_n5eiEy/view?usp=sharing
after: https://drive.google.com/file/d/1_G8-Jd_wdUKjy7vFj6iQ1QmCx_7Qrogn/view?usp=sharing
Change-Id: Ib32b8ef950d03aa812f30c2393e3cad3201c08da
parent db700954
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -444,6 +444,9 @@ public class ActivityAllAppsContainerView<T extends Context & ActivityContext>
            // Animate to A-Z with 0 time to reset the animation with proper state management.
            animateToSearchState(false, 0);
        }
        if (isSearching()) {
            mWorkManager.reset();
        }
    }

    @Override
+5 −1
Original line number Diff line number Diff line
@@ -166,7 +166,7 @@ public class WorkModeSwitch extends LinearLayout implements Insettable,
        return super.onApplyWindowInsets(insets);
    }

    private void updateTranslationY() {
    void updateTranslationY() {
        setTranslationY(-mImeInsets.bottom);
    }

@@ -180,6 +180,10 @@ public class WorkModeSwitch extends LinearLayout implements Insettable,
        rect.set(insets.left, insets.top, insets.right, insets.bottom);
    }

    public Rect getImeInsets() {
        return mImeInsets;
    }

    @Override
    public void onTranslationStart() {
        setFlag(FLAG_TRANSLATION_ONGOING);
+5 −0
Original line number Diff line number Diff line
@@ -136,6 +136,11 @@ public class WorkProfileManager implements PersonalWorkSlidingTabStrip.OnActiveP
    public void reset() {
        boolean isEnabled = !mAllApps.getAppsStore().hasModelFlag(FLAG_QUIET_MODE_ENABLED);
        updateCurrentState(isEnabled ? STATE_ENABLED : STATE_DISABLED);
        if (mWorkModeSwitch != null) {
            // reset the position of the button and clear IME insets.
            mWorkModeSwitch.getImeInsets().setEmpty();
            mWorkModeSwitch.updateTranslationY();
        }
    }

    private void updateCurrentState(@WorkProfileState int currentState) {