diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 206e9ccd28..e421009121 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -224,8 +224,10 @@ public class LauncherTaskbarUIController extends TaskbarUIController { */ @Override public void onLauncherVisibilityChanged(boolean isVisible) { + final TaskbarActivityContext taskbarContext = mControllers.taskbarActivityContext; if (DesktopModeStatus.enterDesktopByDefaultOnFreeformDisplay(mLauncher) - && mControllers.taskbarActivityContext.isPrimaryDisplay()) { + && !taskbarContext.showDesktopTaskbarForFreeformDisplay() + && taskbarContext.isPrimaryDisplay()) { DisplayController.INSTANCE.get(mLauncher).notifyConfigChange(); } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java index dcd52cfe79..58cd37c54e 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java @@ -230,7 +230,8 @@ public class TaskbarManager implements DisplayDecorationListener { } // Only Handles Special Exit Cases for Desktop Mode Taskbar Recreation. if (((flags & CHANGE_TASKBAR_PINNING) != 0) || (taskbarActivityContext != null - && !taskbarActivityContext.showLockedTaskbarOnHome())) { + && !taskbarActivityContext.showLockedTaskbarOnHome() + && !taskbarActivityContext.showDesktopTaskbarForFreeformDisplay())) { recreateTaskbars(); } } else { @@ -324,7 +325,8 @@ public class TaskbarManager implements DisplayDecorationListener { TaskbarActivityContext taskbarActivityContext = getTaskbarForDisplay( displayId); if (taskbarActivityContext != null - && !taskbarActivityContext.isInOverview()) { + && !taskbarActivityContext.isInOverview() + && !taskbarActivityContext.showDesktopTaskbarForFreeformDisplay()) { mShouldIgnoreNextDesktopModeChangeFromDisplayController = true; AnimatorSet animatorSet = taskbarActivityContext.onDestroyAnimation( TASKBAR_DESTROY_DURATION); @@ -347,7 +349,8 @@ public class TaskbarManager implements DisplayDecorationListener { TaskbarActivityContext taskbarActivityContext = getTaskbarForDisplay( displayId); - if (taskbarActivityContext != null) { + if (taskbarActivityContext != null + && !taskbarActivityContext.showDesktopTaskbarForFreeformDisplay()) { mShouldIgnoreNextDesktopModeChangeFromDisplayController = true; AnimatorSet animatorSet = taskbarActivityContext.onDestroyAnimation( TASKBAR_DESTROY_DURATION);