Loading quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +17 −24 Original line number Diff line number Diff line Loading @@ -25,10 +25,11 @@ import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_WORKSP import static com.android.launcher3.model.data.ItemInfo.NO_MATCHING_ID; import static com.android.launcher3.popup.QuickstepSystemShortcut.getSplitSelectShortcutByPosition; import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN; import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE; import static com.android.launcher3.util.DisplayController.NavigationMode.NO_BUTTON; import static com.android.launcher3.util.DisplayController.NavigationMode.TWO_BUTTONS; import static com.android.launcher3.util.Executors.THREAD_POOL_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.quickstep.SysUINavigationMode.Mode.NO_BUTTON; import static com.android.quickstep.SysUINavigationMode.Mode.TWO_BUTTONS; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY; import android.animation.AnimatorSet; Loading Loading @@ -65,6 +66,7 @@ import com.android.launcher3.taskbar.TaskbarManager; import com.android.launcher3.uioverrides.RecentsViewStateController; import com.android.launcher3.util.ActivityOptionsWrapper; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.NavigationMode; import com.android.launcher3.util.IntSet; import com.android.launcher3.util.ObjectWrapper; import com.android.launcher3.util.RunnableList; Loading @@ -72,9 +74,6 @@ import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption; import com.android.launcher3.util.UiThreadHelper; import com.android.quickstep.OverviewCommandHelper; import com.android.quickstep.RecentsModel; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.quickstep.SysUINavigationMode.NavigationModeChangeListener; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskUtils; import com.android.quickstep.TouchInteractionService.TISBinder; Loading Loading @@ -102,8 +101,7 @@ import java.util.stream.Stream; /** * Extension of Launcher activity to provide quickstep specific functionality */ public abstract class BaseQuickstepLauncher extends Launcher implements NavigationModeChangeListener { public abstract class BaseQuickstepLauncher extends Launcher { private DepthController mDepthController = new DepthController(this); private QuickstepTransitionManager mAppTransitionManager; Loading Loading @@ -131,7 +129,6 @@ public abstract class BaseQuickstepLauncher extends Launcher @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SysUINavigationMode.INSTANCE.get(this).addModeChangeListener(this); addMultiWindowModeChangedListener(mDepthController); initUnfoldTransitionProgressProvider(); } Loading Loading @@ -161,8 +158,6 @@ public abstract class BaseQuickstepLauncher extends Launcher mUnfoldTransitionProgressProvider.destroy(); } SysUINavigationMode.INSTANCE.get(this).removeModeChangeListener(this); mTISBindHelper.onDestroy(); if (mTaskbarManager != null) { mTaskbarManager.clearActivity(this); Loading @@ -188,14 +183,6 @@ public abstract class BaseQuickstepLauncher extends Launcher return mAppTransitionManager; } @Override public void onNavigationModeChanged(Mode newMode) { getDragLayer().recreateControllers(); if (mActionsView != null) { mActionsView.updateVerticalMargin(newMode); } } @Override public void onEnterAnimationComplete() { super.onEnterAnimationComplete(); Loading Loading @@ -305,7 +292,6 @@ public abstract class BaseQuickstepLauncher extends Launcher protected void setupViews() { super.setupViews(); SysUINavigationMode.INSTANCE.get(this).updateMode(); mActionsView = findViewById(R.id.overview_actions_view); RecentsView overviewPanel = (RecentsView) getOverviewPanel(); SplitSelectStateController controller = Loading @@ -313,7 +299,7 @@ public abstract class BaseQuickstepLauncher extends Launcher getStateManager(), getDepthController()); overviewPanel.init(mActionsView, controller); mActionsView.setDp(getDeviceProfile()); mActionsView.updateVerticalMargin(SysUINavigationMode.getMode(this)); mActionsView.updateVerticalMargin(DisplayController.getNavigationMode(this)); mAppTransitionManager = new QuickstepTransitionManager(this); mAppTransitionManager.registerRemoteAnimations(); Loading Loading @@ -434,7 +420,7 @@ public abstract class BaseQuickstepLauncher extends Launcher @Override public float[] getNormalOverviewScaleAndOffset() { return SysUINavigationMode.getMode(this).hasGestures return DisplayController.getNavigationMode(this).hasGestures ? new float[] {1, 1} : new float[] {1.1f, NO_OFFSET}; } Loading Loading @@ -464,7 +450,7 @@ public abstract class BaseQuickstepLauncher extends Launcher } public boolean shouldBackButtonBeHidden(LauncherState toState) { Mode mode = SysUINavigationMode.getMode(this); NavigationMode mode = DisplayController.getNavigationMode(this); boolean shouldBackButtonBeHidden = mode.hasGestures && toState.hasFlag(FLAG_HIDE_BACK_BUTTON) && hasWindowFocus() Loading @@ -482,7 +468,7 @@ public abstract class BaseQuickstepLauncher extends Launcher */ private void onLauncherStateOrFocusChanged() { boolean shouldBackButtonBeHidden = shouldBackButtonBeHidden(getStateManager().getState()); if (SysUINavigationMode.getMode(this) == TWO_BUTTONS) { if (DisplayController.getNavigationMode(this) == TWO_BUTTONS) { UiThreadHelper.setBackButtonAlphaAsync(this, SET_BACK_BUTTON_ALPHA, shouldBackButtonBeHidden ? 0f : 1f, true /* animate */); } Loading Loading @@ -612,6 +598,13 @@ public abstract class BaseQuickstepLauncher extends Launcher if ((flags & CHANGE_ACTIVE_SCREEN) != 0) { getStateManager().moveToRestState(); } if ((flags & CHANGE_NAVIGATION_MODE) != 0) { getDragLayer().recreateControllers(); if (mActionsView != null) { mActionsView.updateVerticalMargin(info.navigationMode); } } } @Override Loading @@ -627,7 +620,7 @@ public abstract class BaseQuickstepLauncher extends Launcher WindowInsets oldInsets) { // Override the tappable insets to be 0 on the bottom for gesture nav (otherwise taskbar // would count towards it). This is used for the bottom protection in All Apps for example. if (SysUINavigationMode.getMode(this) == NO_BUTTON) { if (DisplayController.getNavigationMode(this) == NO_BUTTON) { Insets oldTappableInsets = oldInsets.getInsets(WindowInsets.Type.tappableElement()); Insets newTappableInsets = Insets.of(oldTappableInsets.left, oldTappableInsets.top, oldTappableInsets.right, 0); Loading quickstep/src/com/android/launcher3/statehandlers/BackButtonAlphaHandler.java +3 −3 Original line number Diff line number Diff line Loading @@ -17,17 +17,17 @@ package com.android.launcher3.statehandlers; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.util.DisplayController.NavigationMode.TWO_BUTTONS; import static com.android.quickstep.AnimatedFloat.VALUE; import static com.android.quickstep.SysUINavigationMode.Mode.TWO_BUTTONS; import com.android.launcher3.BaseQuickstepLauncher; import com.android.launcher3.LauncherState; import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.statemanager.StateManager.StateHandler; import com.android.launcher3.states.StateAnimationConfig; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.UiThreadHelper; import com.android.quickstep.AnimatedFloat; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SystemUiProxy; /** Loading @@ -48,7 +48,7 @@ public class BackButtonAlphaHandler implements StateHandler<LauncherState> { @Override public void setStateWithAnimation(LauncherState toState, StateAnimationConfig config, PendingAnimation animation) { if (SysUINavigationMode.getMode(mLauncher) != TWO_BUTTONS) { if (DisplayController.getNavigationMode(mLauncher) != TWO_BUTTONS) { return; } Loading quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +12 −9 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_M import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; import static com.android.launcher3.AbstractFloatingView.TYPE_ALL; import static com.android.launcher3.ResourceUtils.getBoolByName; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_OPEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; Loading Loading @@ -70,13 +71,13 @@ import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.popup.PopupDataProvider; import com.android.launcher3.taskbar.allapps.TaskbarAllAppsController; import com.android.launcher3.touch.ItemClickHandler; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.NavigationMode; import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.SettingsCache; import com.android.launcher3.util.TraceHelper; import com.android.launcher3.util.ViewCache; import com.android.launcher3.views.ActivityContext; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.rotation.RotationButtonController; import com.android.systemui.shared.system.ActivityManagerWrapper; Loading @@ -92,6 +93,8 @@ import java.io.PrintWriter; */ public class TaskbarActivityContext extends BaseTaskbarContext { private static final String IME_DRAWS_IME_NAV_BAR_RES_NAME = "config_imeDrawsImeNavBar"; private static final boolean ENABLE_THREE_BUTTON_TASKBAR = SystemProperties.getBoolean("persist.debug.taskbar_three_button", false); private static final String TAG = "TaskbarActivityContext"; Loading @@ -109,7 +112,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext { // The size we should return to when we call setTaskbarWindowFullscreen(false) private int mLastRequestedNonFullscreenHeight; private final SysUINavigationMode.Mode mNavMode; private final NavigationMode mNavMode; private final boolean mImeDrawsImeNavBar; private final ViewCache mViewCache = new ViewCache(); Loading @@ -130,8 +133,10 @@ public class TaskbarActivityContext extends BaseTaskbarContext { super(windowContext); mDeviceProfile = dp; mNavMode = SysUINavigationMode.getMode(windowContext); mImeDrawsImeNavBar = SysUINavigationMode.getImeDrawsImeNavBar(windowContext); final Resources resources = getResources(); mNavMode = DisplayController.getNavigationMode(windowContext); mImeDrawsImeNavBar = getBoolByName(IME_DRAWS_IME_NAV_BAR_RES_NAME, resources, false); mIsSafeModeEnabled = TraceHelper.allowIpcs("isSafeMode", () -> getPackageManager().isSafeMode()); mIsUserSetupComplete = SettingsCache.INSTANCE.get(this).getValue( Loading @@ -141,9 +146,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext { mIsNavBarKidsMode = SettingsCache.INSTANCE.get(this).getValue( Settings.Secure.getUriFor(Settings.Secure.NAV_BAR_KIDS_MODE), 0); final Resources resources = getResources(); updateIconSize(resources); mTaskbarHeightForIme = resources.getDimensionPixelSize(R.dimen.taskbar_ime_size); // Inflate views. Loading Loading @@ -258,11 +261,11 @@ public class TaskbarActivityContext extends BaseTaskbarContext { } public boolean isThreeButtonNav() { return mNavMode == Mode.THREE_BUTTONS; return mNavMode == NavigationMode.THREE_BUTTONS; } public boolean isGestureNav() { return mNavMode == Mode.NO_BUTTON; return mNavMode == NavigationMode.NO_BUTTON; } public boolean imeDrawsImeNavBar() { Loading quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +4 −16 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN; import static com.android.launcher3.util.DisplayController.CHANGE_DENSITY; import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE; import static com.android.launcher3.util.DisplayController.CHANGE_SUPPORTED_BOUNDS; import android.content.ComponentCallbacks; Loading @@ -40,15 +41,12 @@ import androidx.annotation.Nullable; import com.android.launcher3.BaseQuickstepLauncher; import com.android.launcher3.DeviceProfile; import com.android.launcher3.LauncherAppState; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.statemanager.StatefulActivity; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.Info; import com.android.launcher3.util.SettingsCache; import com.android.launcher3.util.SimpleBroadcastReceiver; import com.android.quickstep.RecentsActivity; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TouchInteractionService; import com.android.systemui.unfold.UnfoldTransitionProgressProvider; Loading @@ -59,8 +57,7 @@ import java.io.PrintWriter; /** * Class to manage taskbar lifecycle */ public class TaskbarManager implements DisplayController.DisplayInfoChangeListener, SysUINavigationMode.NavigationModeChangeListener { public class TaskbarManager implements DisplayController.DisplayInfoChangeListener { private static final Uri USER_SETUP_COMPLETE_URI = Settings.Secure.getUriFor( Settings.Secure.USER_SETUP_COMPLETE); Loading @@ -70,7 +67,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen private final Context mContext; private final DisplayController mDisplayController; private final SysUINavigationMode mSysUINavigationMode; private final TaskbarNavButtonController mNavButtonController; private final SettingsCache.OnChangeListener mUserSetupCompleteListener; private final SettingsCache.OnChangeListener mNavBarKidsModeListener; Loading @@ -89,14 +85,13 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen */ private final TaskbarSharedState mSharedState = new TaskbarSharedState(); private static final int CHANGE_FLAGS = CHANGE_ACTIVE_SCREEN | CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS; private static final int CHANGE_FLAGS = CHANGE_ACTIVE_SCREEN | CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS | CHANGE_NAVIGATION_MODE; private boolean mUserUnlocked = false; public TaskbarManager(TouchInteractionService service) { mDisplayController = DisplayController.INSTANCE.get(service); mSysUINavigationMode = SysUINavigationMode.INSTANCE.get(service); Display display = service.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY); mContext = service.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null); Loading Loading @@ -137,7 +132,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen mShutdownReceiver = new SimpleBroadcastReceiver(i -> destroyExistingTaskbar()); mDisplayController.addChangeListener(this); mSysUINavigationMode.addModeChangeListener(this); SettingsCache.INSTANCE.get(mContext).register(USER_SETUP_COMPLETE_URI, mUserSetupCompleteListener); SettingsCache.INSTANCE.get(mContext).register(NAV_BAR_KIDS_MODE, Loading @@ -148,11 +142,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen recreateTaskbar(); } @Override public void onNavigationModeChanged(Mode newMode) { recreateTaskbar(); } @Override public void onDisplayInfoChanged(Context context, Info info, int flags) { if ((flags & CHANGE_FLAGS) != 0) { Loading Loading @@ -301,7 +290,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen public void destroy() { destroyExistingTaskbar(); mDisplayController.removeChangeListener(this); mSysUINavigationMode.removeModeChangeListener(this); SettingsCache.INSTANCE.get(mContext).unregister(USER_SETUP_COMPLETE_URI, mUserSetupCompleteListener); SettingsCache.INSTANCE.get(mContext).unregister(NAV_BAR_KIDS_MODE, Loading quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java +3 −3 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ import android.view.Display; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.NavigationMode; public class ApiWrapper { Loading Loading @@ -54,7 +54,7 @@ public class ApiWrapper { * Returns the minimum space that should be left empty at the end of hotseat */ public static int getHotseatEndOffset(Context context) { if (SysUINavigationMode.INSTANCE.get(context).getMode() == Mode.THREE_BUTTONS) { if (DisplayController.getNavigationMode(context) == NavigationMode.THREE_BUTTONS) { Resources res = context.getResources(); /* * 3 nav buttons + Loading Loading
quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +17 −24 Original line number Diff line number Diff line Loading @@ -25,10 +25,11 @@ import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_WORKSP import static com.android.launcher3.model.data.ItemInfo.NO_MATCHING_ID; import static com.android.launcher3.popup.QuickstepSystemShortcut.getSplitSelectShortcutByPosition; import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN; import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE; import static com.android.launcher3.util.DisplayController.NavigationMode.NO_BUTTON; import static com.android.launcher3.util.DisplayController.NavigationMode.TWO_BUTTONS; import static com.android.launcher3.util.Executors.THREAD_POOL_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.quickstep.SysUINavigationMode.Mode.NO_BUTTON; import static com.android.quickstep.SysUINavigationMode.Mode.TWO_BUTTONS; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY; import android.animation.AnimatorSet; Loading Loading @@ -65,6 +66,7 @@ import com.android.launcher3.taskbar.TaskbarManager; import com.android.launcher3.uioverrides.RecentsViewStateController; import com.android.launcher3.util.ActivityOptionsWrapper; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.NavigationMode; import com.android.launcher3.util.IntSet; import com.android.launcher3.util.ObjectWrapper; import com.android.launcher3.util.RunnableList; Loading @@ -72,9 +74,6 @@ import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption; import com.android.launcher3.util.UiThreadHelper; import com.android.quickstep.OverviewCommandHelper; import com.android.quickstep.RecentsModel; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.quickstep.SysUINavigationMode.NavigationModeChangeListener; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskUtils; import com.android.quickstep.TouchInteractionService.TISBinder; Loading Loading @@ -102,8 +101,7 @@ import java.util.stream.Stream; /** * Extension of Launcher activity to provide quickstep specific functionality */ public abstract class BaseQuickstepLauncher extends Launcher implements NavigationModeChangeListener { public abstract class BaseQuickstepLauncher extends Launcher { private DepthController mDepthController = new DepthController(this); private QuickstepTransitionManager mAppTransitionManager; Loading Loading @@ -131,7 +129,6 @@ public abstract class BaseQuickstepLauncher extends Launcher @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SysUINavigationMode.INSTANCE.get(this).addModeChangeListener(this); addMultiWindowModeChangedListener(mDepthController); initUnfoldTransitionProgressProvider(); } Loading Loading @@ -161,8 +158,6 @@ public abstract class BaseQuickstepLauncher extends Launcher mUnfoldTransitionProgressProvider.destroy(); } SysUINavigationMode.INSTANCE.get(this).removeModeChangeListener(this); mTISBindHelper.onDestroy(); if (mTaskbarManager != null) { mTaskbarManager.clearActivity(this); Loading @@ -188,14 +183,6 @@ public abstract class BaseQuickstepLauncher extends Launcher return mAppTransitionManager; } @Override public void onNavigationModeChanged(Mode newMode) { getDragLayer().recreateControllers(); if (mActionsView != null) { mActionsView.updateVerticalMargin(newMode); } } @Override public void onEnterAnimationComplete() { super.onEnterAnimationComplete(); Loading Loading @@ -305,7 +292,6 @@ public abstract class BaseQuickstepLauncher extends Launcher protected void setupViews() { super.setupViews(); SysUINavigationMode.INSTANCE.get(this).updateMode(); mActionsView = findViewById(R.id.overview_actions_view); RecentsView overviewPanel = (RecentsView) getOverviewPanel(); SplitSelectStateController controller = Loading @@ -313,7 +299,7 @@ public abstract class BaseQuickstepLauncher extends Launcher getStateManager(), getDepthController()); overviewPanel.init(mActionsView, controller); mActionsView.setDp(getDeviceProfile()); mActionsView.updateVerticalMargin(SysUINavigationMode.getMode(this)); mActionsView.updateVerticalMargin(DisplayController.getNavigationMode(this)); mAppTransitionManager = new QuickstepTransitionManager(this); mAppTransitionManager.registerRemoteAnimations(); Loading Loading @@ -434,7 +420,7 @@ public abstract class BaseQuickstepLauncher extends Launcher @Override public float[] getNormalOverviewScaleAndOffset() { return SysUINavigationMode.getMode(this).hasGestures return DisplayController.getNavigationMode(this).hasGestures ? new float[] {1, 1} : new float[] {1.1f, NO_OFFSET}; } Loading Loading @@ -464,7 +450,7 @@ public abstract class BaseQuickstepLauncher extends Launcher } public boolean shouldBackButtonBeHidden(LauncherState toState) { Mode mode = SysUINavigationMode.getMode(this); NavigationMode mode = DisplayController.getNavigationMode(this); boolean shouldBackButtonBeHidden = mode.hasGestures && toState.hasFlag(FLAG_HIDE_BACK_BUTTON) && hasWindowFocus() Loading @@ -482,7 +468,7 @@ public abstract class BaseQuickstepLauncher extends Launcher */ private void onLauncherStateOrFocusChanged() { boolean shouldBackButtonBeHidden = shouldBackButtonBeHidden(getStateManager().getState()); if (SysUINavigationMode.getMode(this) == TWO_BUTTONS) { if (DisplayController.getNavigationMode(this) == TWO_BUTTONS) { UiThreadHelper.setBackButtonAlphaAsync(this, SET_BACK_BUTTON_ALPHA, shouldBackButtonBeHidden ? 0f : 1f, true /* animate */); } Loading Loading @@ -612,6 +598,13 @@ public abstract class BaseQuickstepLauncher extends Launcher if ((flags & CHANGE_ACTIVE_SCREEN) != 0) { getStateManager().moveToRestState(); } if ((flags & CHANGE_NAVIGATION_MODE) != 0) { getDragLayer().recreateControllers(); if (mActionsView != null) { mActionsView.updateVerticalMargin(info.navigationMode); } } } @Override Loading @@ -627,7 +620,7 @@ public abstract class BaseQuickstepLauncher extends Launcher WindowInsets oldInsets) { // Override the tappable insets to be 0 on the bottom for gesture nav (otherwise taskbar // would count towards it). This is used for the bottom protection in All Apps for example. if (SysUINavigationMode.getMode(this) == NO_BUTTON) { if (DisplayController.getNavigationMode(this) == NO_BUTTON) { Insets oldTappableInsets = oldInsets.getInsets(WindowInsets.Type.tappableElement()); Insets newTappableInsets = Insets.of(oldTappableInsets.left, oldTappableInsets.top, oldTappableInsets.right, 0); Loading
quickstep/src/com/android/launcher3/statehandlers/BackButtonAlphaHandler.java +3 −3 Original line number Diff line number Diff line Loading @@ -17,17 +17,17 @@ package com.android.launcher3.statehandlers; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.util.DisplayController.NavigationMode.TWO_BUTTONS; import static com.android.quickstep.AnimatedFloat.VALUE; import static com.android.quickstep.SysUINavigationMode.Mode.TWO_BUTTONS; import com.android.launcher3.BaseQuickstepLauncher; import com.android.launcher3.LauncherState; import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.statemanager.StateManager.StateHandler; import com.android.launcher3.states.StateAnimationConfig; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.UiThreadHelper; import com.android.quickstep.AnimatedFloat; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SystemUiProxy; /** Loading @@ -48,7 +48,7 @@ public class BackButtonAlphaHandler implements StateHandler<LauncherState> { @Override public void setStateWithAnimation(LauncherState toState, StateAnimationConfig config, PendingAnimation animation) { if (SysUINavigationMode.getMode(mLauncher) != TWO_BUTTONS) { if (DisplayController.getNavigationMode(mLauncher) != TWO_BUTTONS) { return; } Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +12 −9 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_M import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; import static com.android.launcher3.AbstractFloatingView.TYPE_ALL; import static com.android.launcher3.ResourceUtils.getBoolByName; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_OPEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; Loading Loading @@ -70,13 +71,13 @@ import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.popup.PopupDataProvider; import com.android.launcher3.taskbar.allapps.TaskbarAllAppsController; import com.android.launcher3.touch.ItemClickHandler; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.NavigationMode; import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.SettingsCache; import com.android.launcher3.util.TraceHelper; import com.android.launcher3.util.ViewCache; import com.android.launcher3.views.ActivityContext; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.rotation.RotationButtonController; import com.android.systemui.shared.system.ActivityManagerWrapper; Loading @@ -92,6 +93,8 @@ import java.io.PrintWriter; */ public class TaskbarActivityContext extends BaseTaskbarContext { private static final String IME_DRAWS_IME_NAV_BAR_RES_NAME = "config_imeDrawsImeNavBar"; private static final boolean ENABLE_THREE_BUTTON_TASKBAR = SystemProperties.getBoolean("persist.debug.taskbar_three_button", false); private static final String TAG = "TaskbarActivityContext"; Loading @@ -109,7 +112,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext { // The size we should return to when we call setTaskbarWindowFullscreen(false) private int mLastRequestedNonFullscreenHeight; private final SysUINavigationMode.Mode mNavMode; private final NavigationMode mNavMode; private final boolean mImeDrawsImeNavBar; private final ViewCache mViewCache = new ViewCache(); Loading @@ -130,8 +133,10 @@ public class TaskbarActivityContext extends BaseTaskbarContext { super(windowContext); mDeviceProfile = dp; mNavMode = SysUINavigationMode.getMode(windowContext); mImeDrawsImeNavBar = SysUINavigationMode.getImeDrawsImeNavBar(windowContext); final Resources resources = getResources(); mNavMode = DisplayController.getNavigationMode(windowContext); mImeDrawsImeNavBar = getBoolByName(IME_DRAWS_IME_NAV_BAR_RES_NAME, resources, false); mIsSafeModeEnabled = TraceHelper.allowIpcs("isSafeMode", () -> getPackageManager().isSafeMode()); mIsUserSetupComplete = SettingsCache.INSTANCE.get(this).getValue( Loading @@ -141,9 +146,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext { mIsNavBarKidsMode = SettingsCache.INSTANCE.get(this).getValue( Settings.Secure.getUriFor(Settings.Secure.NAV_BAR_KIDS_MODE), 0); final Resources resources = getResources(); updateIconSize(resources); mTaskbarHeightForIme = resources.getDimensionPixelSize(R.dimen.taskbar_ime_size); // Inflate views. Loading Loading @@ -258,11 +261,11 @@ public class TaskbarActivityContext extends BaseTaskbarContext { } public boolean isThreeButtonNav() { return mNavMode == Mode.THREE_BUTTONS; return mNavMode == NavigationMode.THREE_BUTTONS; } public boolean isGestureNav() { return mNavMode == Mode.NO_BUTTON; return mNavMode == NavigationMode.NO_BUTTON; } public boolean imeDrawsImeNavBar() { Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +4 −16 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN; import static com.android.launcher3.util.DisplayController.CHANGE_DENSITY; import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE; import static com.android.launcher3.util.DisplayController.CHANGE_SUPPORTED_BOUNDS; import android.content.ComponentCallbacks; Loading @@ -40,15 +41,12 @@ import androidx.annotation.Nullable; import com.android.launcher3.BaseQuickstepLauncher; import com.android.launcher3.DeviceProfile; import com.android.launcher3.LauncherAppState; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.statemanager.StatefulActivity; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.Info; import com.android.launcher3.util.SettingsCache; import com.android.launcher3.util.SimpleBroadcastReceiver; import com.android.quickstep.RecentsActivity; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TouchInteractionService; import com.android.systemui.unfold.UnfoldTransitionProgressProvider; Loading @@ -59,8 +57,7 @@ import java.io.PrintWriter; /** * Class to manage taskbar lifecycle */ public class TaskbarManager implements DisplayController.DisplayInfoChangeListener, SysUINavigationMode.NavigationModeChangeListener { public class TaskbarManager implements DisplayController.DisplayInfoChangeListener { private static final Uri USER_SETUP_COMPLETE_URI = Settings.Secure.getUriFor( Settings.Secure.USER_SETUP_COMPLETE); Loading @@ -70,7 +67,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen private final Context mContext; private final DisplayController mDisplayController; private final SysUINavigationMode mSysUINavigationMode; private final TaskbarNavButtonController mNavButtonController; private final SettingsCache.OnChangeListener mUserSetupCompleteListener; private final SettingsCache.OnChangeListener mNavBarKidsModeListener; Loading @@ -89,14 +85,13 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen */ private final TaskbarSharedState mSharedState = new TaskbarSharedState(); private static final int CHANGE_FLAGS = CHANGE_ACTIVE_SCREEN | CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS; private static final int CHANGE_FLAGS = CHANGE_ACTIVE_SCREEN | CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS | CHANGE_NAVIGATION_MODE; private boolean mUserUnlocked = false; public TaskbarManager(TouchInteractionService service) { mDisplayController = DisplayController.INSTANCE.get(service); mSysUINavigationMode = SysUINavigationMode.INSTANCE.get(service); Display display = service.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY); mContext = service.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null); Loading Loading @@ -137,7 +132,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen mShutdownReceiver = new SimpleBroadcastReceiver(i -> destroyExistingTaskbar()); mDisplayController.addChangeListener(this); mSysUINavigationMode.addModeChangeListener(this); SettingsCache.INSTANCE.get(mContext).register(USER_SETUP_COMPLETE_URI, mUserSetupCompleteListener); SettingsCache.INSTANCE.get(mContext).register(NAV_BAR_KIDS_MODE, Loading @@ -148,11 +142,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen recreateTaskbar(); } @Override public void onNavigationModeChanged(Mode newMode) { recreateTaskbar(); } @Override public void onDisplayInfoChanged(Context context, Info info, int flags) { if ((flags & CHANGE_FLAGS) != 0) { Loading Loading @@ -301,7 +290,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen public void destroy() { destroyExistingTaskbar(); mDisplayController.removeChangeListener(this); mSysUINavigationMode.removeModeChangeListener(this); SettingsCache.INSTANCE.get(mContext).unregister(USER_SETUP_COMPLETE_URI, mUserSetupCompleteListener); SettingsCache.INSTANCE.get(mContext).unregister(NAV_BAR_KIDS_MODE, Loading
quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java +3 −3 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ import android.view.Display; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.NavigationMode; public class ApiWrapper { Loading Loading @@ -54,7 +54,7 @@ public class ApiWrapper { * Returns the minimum space that should be left empty at the end of hotseat */ public static int getHotseatEndOffset(Context context) { if (SysUINavigationMode.INSTANCE.get(context).getMode() == Mode.THREE_BUTTONS) { if (DisplayController.getNavigationMode(context) == NavigationMode.THREE_BUTTONS) { Resources res = context.getResources(); /* * 3 nav buttons + Loading