Loading libs/WindowManager/Shell/aconfig/multitasking.aconfig +7 −0 Original line number Original line Diff line number Diff line Loading @@ -28,3 +28,10 @@ flag { description: "Enables invoking split contextually" description: "Enables invoking split contextually" bug: "276361926" bug: "276361926" } } flag { name: "enable_taskbar_navbar_unification" namespace: "multitasking" description: "Enables taskbar / navbar unification" bug: "309671494" } packages/SystemUI/src/com/android/systemui/flags/Flags.kt +0 −6 Original line number Original line Diff line number Diff line Loading @@ -481,12 +481,6 @@ object Flags { namespace = DeviceConfig.NAMESPACE_WINDOW_MANAGER, namespace = DeviceConfig.NAMESPACE_WINDOW_MANAGER, ) ) // TODO(b/254512674): Tracking Bug @Keep @JvmField val HIDE_NAVBAR_WINDOW = sysPropBooleanFlag("persist.wm.debug.hide_navbar_window", default = false) @Keep @Keep @JvmField @JvmField val WM_CAPTION_ON_SHELL = val WM_CAPTION_ON_SHELL = Loading packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarControllerImpl.java +3 −7 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_GESTURE import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR; import static com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler.DEBUG_MISSING_GESTURE_TAG; import static com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler.DEBUG_MISSING_GESTURE_TAG; import static com.android.systemui.shared.recents.utilities.Utilities.isLargeScreen; import static com.android.systemui.shared.recents.utilities.Utilities.isLargeScreen; import static com.android.wm.shell.Flags.enableTaskbarNavbarUnification; import android.content.Context; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo; Loading Loading @@ -49,8 +50,6 @@ import com.android.systemui.Dumpable; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dump.DumpManager; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.model.SysUiState; import com.android.systemui.model.SysUiState; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.settings.DisplayTracker; import com.android.systemui.settings.DisplayTracker; Loading Loading @@ -83,7 +82,6 @@ public class NavigationBarControllerImpl implements private final Context mContext; private final Context mContext; private final Handler mHandler; private final Handler mHandler; private final NavigationBarComponent.Factory mNavigationBarComponentFactory; private final NavigationBarComponent.Factory mNavigationBarComponentFactory; private FeatureFlags mFeatureFlags; private final SecureSettings mSecureSettings; private final SecureSettings mSecureSettings; private final DisplayTracker mDisplayTracker; private final DisplayTracker mDisplayTracker; private final DisplayManager mDisplayManager; private final DisplayManager mDisplayManager; Loading Loading @@ -118,13 +116,11 @@ public class NavigationBarControllerImpl implements TaskStackChangeListeners taskStackChangeListeners, TaskStackChangeListeners taskStackChangeListeners, Optional<Pip> pipOptional, Optional<Pip> pipOptional, Optional<BackAnimation> backAnimation, Optional<BackAnimation> backAnimation, FeatureFlags featureFlags, SecureSettings secureSettings, SecureSettings secureSettings, DisplayTracker displayTracker) { DisplayTracker displayTracker) { mContext = context; mContext = context; mHandler = mainHandler; mHandler = mainHandler; mNavigationBarComponentFactory = navigationBarComponentFactory; mNavigationBarComponentFactory = navigationBarComponentFactory; mFeatureFlags = featureFlags; mSecureSettings = secureSettings; mSecureSettings = secureSettings; mDisplayTracker = displayTracker; mDisplayTracker = displayTracker; mDisplayManager = mContext.getSystemService(DisplayManager.class); mDisplayManager = mContext.getSystemService(DisplayManager.class); Loading Loading @@ -248,8 +244,8 @@ public class NavigationBarControllerImpl implements /** @return {@code true} if taskbar is enabled, false otherwise */ /** @return {@code true} if taskbar is enabled, false otherwise */ private boolean initializeTaskbarIfNecessary() { private boolean initializeTaskbarIfNecessary() { // Enable for large screens or (phone AND flag is set); assuming phone = !mIsLargeScreen // Enable for large screens or (phone AND flag is set); assuming phone = !mIsLargeScreen boolean taskbarEnabled = (mIsLargeScreen || mFeatureFlags.isEnabled( boolean taskbarEnabled = (mIsLargeScreen || enableTaskbarNavbarUnification()) Flags.HIDE_NAVBAR_WINDOW)) && shouldCreateNavBarAndTaskBar(mContext.getDisplayId()); && shouldCreateNavBarAndTaskBar(mContext.getDisplayId()); if (taskbarEnabled) { if (taskbarEnabled) { Trace.beginSection("NavigationBarController#initializeTaskbarIfNecessary"); Trace.beginSection("NavigationBarController#initializeTaskbarIfNecessary"); Loading packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerImplTest.java +0 −1 Original line number Original line Diff line number Diff line Loading @@ -111,7 +111,6 @@ public class NavigationBarControllerImplTest extends SysuiTestCase { TaskStackChangeListeners.getTestInstance(), TaskStackChangeListeners.getTestInstance(), Optional.of(mock(Pip.class)), Optional.of(mock(Pip.class)), Optional.of(mock(BackAnimation.class)), Optional.of(mock(BackAnimation.class)), mock(FeatureFlags.class), mock(SecureSettings.class), mock(SecureSettings.class), mDisplayTracker)); mDisplayTracker)); initializeNavigationBars(); initializeNavigationBars(); Loading Loading
libs/WindowManager/Shell/aconfig/multitasking.aconfig +7 −0 Original line number Original line Diff line number Diff line Loading @@ -28,3 +28,10 @@ flag { description: "Enables invoking split contextually" description: "Enables invoking split contextually" bug: "276361926" bug: "276361926" } } flag { name: "enable_taskbar_navbar_unification" namespace: "multitasking" description: "Enables taskbar / navbar unification" bug: "309671494" }
packages/SystemUI/src/com/android/systemui/flags/Flags.kt +0 −6 Original line number Original line Diff line number Diff line Loading @@ -481,12 +481,6 @@ object Flags { namespace = DeviceConfig.NAMESPACE_WINDOW_MANAGER, namespace = DeviceConfig.NAMESPACE_WINDOW_MANAGER, ) ) // TODO(b/254512674): Tracking Bug @Keep @JvmField val HIDE_NAVBAR_WINDOW = sysPropBooleanFlag("persist.wm.debug.hide_navbar_window", default = false) @Keep @Keep @JvmField @JvmField val WM_CAPTION_ON_SHELL = val WM_CAPTION_ON_SHELL = Loading
packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarControllerImpl.java +3 −7 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_GESTURE import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR; import static com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler.DEBUG_MISSING_GESTURE_TAG; import static com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler.DEBUG_MISSING_GESTURE_TAG; import static com.android.systemui.shared.recents.utilities.Utilities.isLargeScreen; import static com.android.systemui.shared.recents.utilities.Utilities.isLargeScreen; import static com.android.wm.shell.Flags.enableTaskbarNavbarUnification; import android.content.Context; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo; Loading Loading @@ -49,8 +50,6 @@ import com.android.systemui.Dumpable; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dump.DumpManager; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.model.SysUiState; import com.android.systemui.model.SysUiState; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.settings.DisplayTracker; import com.android.systemui.settings.DisplayTracker; Loading Loading @@ -83,7 +82,6 @@ public class NavigationBarControllerImpl implements private final Context mContext; private final Context mContext; private final Handler mHandler; private final Handler mHandler; private final NavigationBarComponent.Factory mNavigationBarComponentFactory; private final NavigationBarComponent.Factory mNavigationBarComponentFactory; private FeatureFlags mFeatureFlags; private final SecureSettings mSecureSettings; private final SecureSettings mSecureSettings; private final DisplayTracker mDisplayTracker; private final DisplayTracker mDisplayTracker; private final DisplayManager mDisplayManager; private final DisplayManager mDisplayManager; Loading Loading @@ -118,13 +116,11 @@ public class NavigationBarControllerImpl implements TaskStackChangeListeners taskStackChangeListeners, TaskStackChangeListeners taskStackChangeListeners, Optional<Pip> pipOptional, Optional<Pip> pipOptional, Optional<BackAnimation> backAnimation, Optional<BackAnimation> backAnimation, FeatureFlags featureFlags, SecureSettings secureSettings, SecureSettings secureSettings, DisplayTracker displayTracker) { DisplayTracker displayTracker) { mContext = context; mContext = context; mHandler = mainHandler; mHandler = mainHandler; mNavigationBarComponentFactory = navigationBarComponentFactory; mNavigationBarComponentFactory = navigationBarComponentFactory; mFeatureFlags = featureFlags; mSecureSettings = secureSettings; mSecureSettings = secureSettings; mDisplayTracker = displayTracker; mDisplayTracker = displayTracker; mDisplayManager = mContext.getSystemService(DisplayManager.class); mDisplayManager = mContext.getSystemService(DisplayManager.class); Loading Loading @@ -248,8 +244,8 @@ public class NavigationBarControllerImpl implements /** @return {@code true} if taskbar is enabled, false otherwise */ /** @return {@code true} if taskbar is enabled, false otherwise */ private boolean initializeTaskbarIfNecessary() { private boolean initializeTaskbarIfNecessary() { // Enable for large screens or (phone AND flag is set); assuming phone = !mIsLargeScreen // Enable for large screens or (phone AND flag is set); assuming phone = !mIsLargeScreen boolean taskbarEnabled = (mIsLargeScreen || mFeatureFlags.isEnabled( boolean taskbarEnabled = (mIsLargeScreen || enableTaskbarNavbarUnification()) Flags.HIDE_NAVBAR_WINDOW)) && shouldCreateNavBarAndTaskBar(mContext.getDisplayId()); && shouldCreateNavBarAndTaskBar(mContext.getDisplayId()); if (taskbarEnabled) { if (taskbarEnabled) { Trace.beginSection("NavigationBarController#initializeTaskbarIfNecessary"); Trace.beginSection("NavigationBarController#initializeTaskbarIfNecessary"); Loading
packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerImplTest.java +0 −1 Original line number Original line Diff line number Diff line Loading @@ -111,7 +111,6 @@ public class NavigationBarControllerImplTest extends SysuiTestCase { TaskStackChangeListeners.getTestInstance(), TaskStackChangeListeners.getTestInstance(), Optional.of(mock(Pip.class)), Optional.of(mock(Pip.class)), Optional.of(mock(BackAnimation.class)), Optional.of(mock(BackAnimation.class)), mock(FeatureFlags.class), mock(SecureSettings.class), mock(SecureSettings.class), mDisplayTracker)); mDisplayTracker)); initializeNavigationBars(); initializeNavigationBars(); Loading