diff --git a/quickstep/AndroidManifest.xml b/quickstep/AndroidManifest.xml index 0f9227457a..25b39ed7e6 100644 --- a/quickstep/AndroidManifest.xml +++ b/quickstep/AndroidManifest.xml @@ -28,6 +28,7 @@ + diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index f6e0426fd4..0ab775694a 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -37,6 +37,7 @@ import android.animation.ObjectAnimator; import android.annotation.DrawableRes; import android.annotation.IdRes; import android.annotation.LayoutRes; +import android.content.pm.ActivityInfo.Config; import android.content.res.ColorStateList; import android.graphics.Rect; import android.graphics.Region; @@ -445,6 +446,12 @@ public class NavbarButtonsViewController { return mFloatingRotationButtonBounds.contains((int) ev.getX(), (int) ev.getY()); } + public void onConfigurationChanged(@Config int configChanges) { + if (mFloatingRotationButton != null) { + mFloatingRotationButton.onConfigurationChanged(configChanges); + } + } + public void onDestroy() { mPropertyHolders.clear(); mControllers.rotationButtonController.unregisterListeners(); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index bc68173c68..8fd6d35228 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -30,6 +30,7 @@ import android.app.ActivityOptions; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; +import android.content.pm.ActivityInfo.Config; import android.content.pm.LauncherApps; import android.graphics.Insets; import android.graphics.PixelFormat; @@ -208,6 +209,10 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ mWindowManager.addView(mDragLayer, mWindowLayoutParams); } + public void onConfigurationChanged(@Config int configChanges) { + mControllers.onConfigurationChanged(configChanges); + } + public boolean isThreeButtonNav() { return mNavMode == Mode.THREE_BUTTONS; } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java index e19b7504dd..488c822982 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java @@ -15,6 +15,8 @@ */ package com.android.launcher3.taskbar; +import android.content.pm.ActivityInfo.Config; + import androidx.annotation.NonNull; import com.android.systemui.shared.rotation.RotationButtonController; @@ -109,6 +111,10 @@ public class TaskbarControllers { mPostInitCallbacks.clear(); } + public void onConfigurationChanged(@Config int configChanges) { + navbarButtonsViewController.onConfigurationChanged(configChanges); + } + /** * Cleans up all controllers. */ diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java index 8a86157d18..b57efd9ee0 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java @@ -107,6 +107,11 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen if ((configDiff & configsRequiringRecreate) != 0) { // Color has changed, recreate taskbar to reload background color & icons. recreateTaskbar(); + } else { + // Config change might be handled without re-creating the taskbar + if (mTaskbarActivityContext != null) { + mTaskbarActivityContext.onConfigurationChanged(configDiff); + } } mOldConfig = newConfig; } diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index 98cb5ae5b5..1fa63603b9 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -95,6 +95,9 @@ public final class FeatureFlags { public static final BooleanFlag ENABLE_ONE_SEARCH = new DeviceFlag("ENABLE_ONE_SEARCH", false, "Use homescreen search box to complete allApps searches"); + public static final BooleanFlag COLLECT_SEARCH_HISTORY = new DeviceFlag( + "COLLECT_SEARCH_HISTORY", false, "Allow launcher to collect search history for log"); + public static final BooleanFlag ENABLE_TWOLINE_ALLAPPS = getDebugFlag( "ENABLE_TWOLINE_ALLAPPS", false, "Enables two line label inside all apps.");