diff options
Diffstat (limited to 'src')
3 files changed, 13 insertions, 1 deletions
diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java index 21dfbe1d0c..d4140d851c 100644 --- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java @@ -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 diff --git a/src/com/android/launcher3/allapps/WorkModeSwitch.java b/src/com/android/launcher3/allapps/WorkModeSwitch.java index 663fdb9822..8c2fb195c6 100644 --- a/src/com/android/launcher3/allapps/WorkModeSwitch.java +++ b/src/com/android/launcher3/allapps/WorkModeSwitch.java @@ -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); diff --git a/src/com/android/launcher3/allapps/WorkProfileManager.java b/src/com/android/launcher3/allapps/WorkProfileManager.java index 30af50261d..44c233f557 100644 --- a/src/com/android/launcher3/allapps/WorkProfileManager.java +++ b/src/com/android/launcher3/allapps/WorkProfileManager.java @@ -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) { |