diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index 2c5aeb3fd7..d5306fb5da 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -317,38 +317,28 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT mPropertyHolders.add(new StatePropertyHolder( mControllers.taskbarDragLayerController.getNavbarBackgroundAlpha(), flags -> (flags & FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE) != 0)); - - // Rotation button - RotationButton rotationButton = new RotationButtonImpl( - addButton(mEndContextualContainer, R.id.rotate_suggestion, - R.layout.taskbar_contextual_button)); - rotationButton.hide(); - mControllers.rotationButtonController.setRotationButton(rotationButton, null); - } else { - mFloatingRotationButton = new FloatingRotationButton( - ENABLE_TASKBAR_NAVBAR_UNIFICATION ? mNavigationBarPanelContext : mContext, - R.string.accessibility_rotate_button, - R.layout.rotate_suggestion, - R.id.rotate_suggestion, - R.dimen.floating_rotation_button_min_margin, - R.dimen.rounded_corner_content_padding, - R.dimen.floating_rotation_button_taskbar_left_margin, - R.dimen.floating_rotation_button_taskbar_bottom_margin, - R.dimen.floating_rotation_button_diameter, - R.dimen.key_button_ripple_max_width, - R.bool.floating_rotation_button_position_left); - mControllers.rotationButtonController.setRotationButton(mFloatingRotationButton, - mRotationButtonListener); - - if (!mIsImeRenderingNavButtons) { - View imeDownButton = addButton(R.drawable.ic_sysbar_back, BUTTON_BACK, - mStartContextualContainer, mControllers.navButtonController, R.id.back); - imeDownButton.setRotation(Utilities.isRtl(resources) ? 90 : -90); - // Only show when IME is visible. - mPropertyHolders.add(new StatePropertyHolder(imeDownButton, - flags -> (flags & FLAG_IME_VISIBLE) != 0)); - } + } else if (!mIsImeRenderingNavButtons) { + View imeDownButton = addButton(R.drawable.ic_sysbar_back, BUTTON_BACK, + mStartContextualContainer, mControllers.navButtonController, R.id.back); + imeDownButton.setRotation(Utilities.isRtl(resources) ? 90 : -90); + // Only show when IME is visible. + mPropertyHolders.add(new StatePropertyHolder(imeDownButton, + flags -> (flags & FLAG_IME_VISIBLE) != 0)); } + mFloatingRotationButton = new FloatingRotationButton( + ENABLE_TASKBAR_NAVBAR_UNIFICATION ? mNavigationBarPanelContext : mContext, + R.string.accessibility_rotate_button, + R.layout.rotate_suggestion, + R.id.rotate_suggestion, + R.dimen.floating_rotation_button_min_margin, + R.dimen.rounded_corner_content_padding, + R.dimen.floating_rotation_button_taskbar_left_margin, + R.dimen.floating_rotation_button_taskbar_bottom_margin, + R.dimen.floating_rotation_button_diameter, + R.dimen.key_button_ripple_max_width, + R.bool.floating_rotation_button_position_left); + mControllers.rotationButtonController.setRotationButton(mFloatingRotationButton, + mRotationButtonListener); applyState(); mPropertyHolders.forEach(StatePropertyHolder::endAnimation); @@ -791,7 +781,6 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT NavButtonLayoutter navButtonLayoutter = NavButtonLayoutFactory.Companion.getUiLayoutter( dp, mNavButtonsView, mImeSwitcherButton, - mControllers.rotationButtonController.getRotationButton(), mA11yButton, mSpace, res, isInKidsMode, isInSetup, isThreeButtonNav, mContext.isPhoneMode(), mWindowManagerProxy.getRotation(mContext)); navButtonLayoutter.layoutButtons(mContext, isA11yButtonPersistent()); diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/AbstractNavButtonLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/AbstractNavButtonLayoutter.kt index fe913620d5..8ad24934cc 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/AbstractNavButtonLayoutter.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/AbstractNavButtonLayoutter.kt @@ -27,7 +27,6 @@ import android.widget.Space import com.android.launcher3.R import com.android.launcher3.Utilities import com.android.launcher3.taskbar.navbutton.NavButtonLayoutFactory.NavButtonLayoutter -import com.android.systemui.shared.rotation.RotationButton /** * Meant to be a simple container for data subclasses will need @@ -41,14 +40,13 @@ import com.android.systemui.shared.rotation.RotationButton * @property startContextualContainer ViewGroup that holds the start contextual button (ex, A11y). */ abstract class AbstractNavButtonLayoutter( - val resources: Resources, - val navButtonContainer: LinearLayout, - protected val endContextualContainer: ViewGroup, - protected val startContextualContainer: ViewGroup, - protected val imeSwitcher: ImageView?, - protected val rotationButton: RotationButton?, - protected val a11yButton: ImageView?, - protected val space: Space? + val resources: Resources, + val navButtonContainer: LinearLayout, + protected val endContextualContainer: ViewGroup, + protected val startContextualContainer: ViewGroup, + protected val imeSwitcher: ImageView?, + protected val a11yButton: ImageView?, + protected val space: Space? ) : NavButtonLayoutter { protected val homeButton: ImageView? = navButtonContainer.findViewById(R.id.home) protected val recentsButton: ImageView? = navButtonContainer.findViewById(R.id.recent_apps) @@ -66,17 +64,24 @@ abstract class AbstractNavButtonLayoutter( } fun getParamsToCenterView(): FrameLayout.LayoutParams { - val params = FrameLayout.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT) + val params = + FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT + ) params.gravity = Gravity.CENTER - return params; + return params } - open fun repositionContextualContainer(contextualContainer: ViewGroup, buttonSize: Int, - barAxisMarginStart: Int, barAxisMarginEnd: Int, - gravity: Int) { - val contextualContainerParams = FrameLayout.LayoutParams( - buttonSize, ViewGroup.LayoutParams.MATCH_PARENT) + open fun repositionContextualContainer( + contextualContainer: ViewGroup, + buttonSize: Int, + barAxisMarginStart: Int, + barAxisMarginEnd: Int, + gravity: Int + ) { + val contextualContainerParams = + FrameLayout.LayoutParams(buttonSize, ViewGroup.LayoutParams.MATCH_PARENT) contextualContainerParams.apply { marginStart = barAxisMarginStart marginEnd = barAxisMarginEnd diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/KidsNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/KidsNavLayoutter.kt index 4368b9510f..aa8f5a34e2 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/KidsNavLayoutter.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/KidsNavLayoutter.kt @@ -29,27 +29,24 @@ import android.widget.Space import com.android.launcher3.R import com.android.launcher3.taskbar.TaskbarActivityContext import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.* -import com.android.systemui.shared.rotation.RotationButton class KidsNavLayoutter( - resources: Resources, - navBarContainer: LinearLayout, - endContextualContainer: ViewGroup, - startContextualContainer: ViewGroup, - imeSwitcher: ImageView?, - rotationButton: RotationButton?, - a11yButton: ImageView?, - space: Space? + resources: Resources, + navBarContainer: LinearLayout, + endContextualContainer: ViewGroup, + startContextualContainer: ViewGroup, + imeSwitcher: ImageView?, + a11yButton: ImageView?, + space: Space? ) : AbstractNavButtonLayoutter( - resources, - navBarContainer, - endContextualContainer, - startContextualContainer, - imeSwitcher, - rotationButton, - a11yButton, - space + resources, + navBarContainer, + endContextualContainer, + startContextualContainer, + imeSwitcher, + a11yButton, + space ) { override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) { @@ -105,11 +102,16 @@ class KidsNavLayoutter( endContextualContainer.removeAllViews() startContextualContainer.removeAllViews() - val contextualMargin = resources.getDimensionPixelSize( - R.dimen.taskbar_contextual_button_padding) + val contextualMargin = + resources.getDimensionPixelSize(R.dimen.taskbar_contextual_button_padding) repositionContextualContainer(endContextualContainer, WRAP_CONTENT, 0, 0, Gravity.END) - repositionContextualContainer(startContextualContainer, WRAP_CONTENT, contextualMargin, - contextualMargin, Gravity.START) + repositionContextualContainer( + startContextualContainer, + WRAP_CONTENT, + contextualMargin, + contextualMargin, + Gravity.START + ) if (imeSwitcher != null) { startContextualContainer.addView(imeSwitcher) @@ -119,9 +121,5 @@ class KidsNavLayoutter( endContextualContainer.addView(a11yButton) a11yButton.layoutParams = getParamsToCenterView() } - if (rotationButton != null) { - endContextualContainer.addView(rotationButton.currentView) - rotationButton.currentView.layoutParams = getParamsToCenterView() - } } } diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactory.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactory.kt index 5bfdce9e68..1e9f09bd3f 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactory.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactory.kt @@ -25,10 +25,11 @@ import android.widget.LinearLayout import android.widget.Space import com.android.launcher3.DeviceProfile import com.android.launcher3.taskbar.TaskbarActivityContext -import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.* +import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.ID_END_CONTEXTUAL_BUTTONS +import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.ID_END_NAV_BUTTONS +import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.ID_START_CONTEXTUAL_BUTTONS import com.android.launcher3.taskbar.navbutton.NavButtonLayoutFactory.Companion import com.android.launcher3.taskbar.navbutton.NavButtonLayoutFactory.NavButtonLayoutter -import com.android.systemui.shared.rotation.RotationButton /** * Select the correct layout for nav buttons @@ -58,7 +59,6 @@ class NavButtonLayoutFactory { deviceProfile: DeviceProfile, navButtonsView: NearestTouchFrame, imeSwitcher: ImageView?, - rotationButton: RotationButton?, a11yButton: ImageView?, space: Space?, resources: Resources, @@ -86,7 +86,6 @@ class NavButtonLayoutFactory { endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) @@ -98,7 +97,6 @@ class NavButtonLayoutFactory { endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) @@ -110,7 +108,6 @@ class NavButtonLayoutFactory { endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) @@ -123,7 +120,6 @@ class NavButtonLayoutFactory { endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) @@ -138,7 +134,6 @@ class NavButtonLayoutFactory { endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) @@ -150,7 +145,6 @@ class NavButtonLayoutFactory { endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) @@ -162,7 +156,6 @@ class NavButtonLayoutFactory { endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneGestureLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneGestureLayoutter.kt index bf820c0a6c..8d91f2c8b3 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneGestureLayoutter.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneGestureLayoutter.kt @@ -22,29 +22,26 @@ import android.widget.ImageView import android.widget.LinearLayout import android.widget.Space import com.android.launcher3.taskbar.TaskbarActivityContext -import com.android.systemui.shared.rotation.RotationButton /** Layoutter for showing gesture navigation on phone screen. No buttons here, no-op container */ class PhoneGestureLayoutter( - resources: Resources, - navBarContainer: LinearLayout, - endContextualContainer: ViewGroup, - startContextualContainer: ViewGroup, - imeSwitcher: ImageView?, - rotationButton: RotationButton?, - a11yButton: ImageView?, - space: Space? + resources: Resources, + navBarContainer: LinearLayout, + endContextualContainer: ViewGroup, + startContextualContainer: ViewGroup, + imeSwitcher: ImageView?, + a11yButton: ImageView?, + space: Space? ) : - AbstractNavButtonLayoutter( - resources, - navBarContainer, - endContextualContainer, - startContextualContainer, - imeSwitcher, - rotationButton, - a11yButton, - space - ) { + AbstractNavButtonLayoutter( + resources, + navBarContainer, + endContextualContainer, + startContextualContainer, + imeSwitcher, + a11yButton, + space + ) { override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) { endContextualContainer.removeAllViews() diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneLandscapeNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneLandscapeNavLayoutter.kt index 6a935f131a..9f7f07e773 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneLandscapeNavLayoutter.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneLandscapeNavLayoutter.kt @@ -26,35 +26,32 @@ import android.widget.LinearLayout import android.widget.Space import com.android.launcher3.R import com.android.launcher3.taskbar.TaskbarActivityContext -import com.android.systemui.shared.rotation.RotationButton open class PhoneLandscapeNavLayoutter( - resources: Resources, - navBarContainer: LinearLayout, - endContextualContainer: ViewGroup, - startContextualContainer: ViewGroup, - imeSwitcher: ImageView?, - rotationButton: RotationButton?, - a11yButton: ImageView?, - space: Space? + resources: Resources, + navBarContainer: LinearLayout, + endContextualContainer: ViewGroup, + startContextualContainer: ViewGroup, + imeSwitcher: ImageView?, + a11yButton: ImageView?, + space: Space? ) : AbstractNavButtonLayoutter( - resources, - navBarContainer, - endContextualContainer, - startContextualContainer, - imeSwitcher, - rotationButton, - a11yButton, - space + resources, + navBarContainer, + endContextualContainer, + startContextualContainer, + imeSwitcher, + a11yButton, + space ) { override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) { val totalHeight = context.deviceProfile.heightPx - val homeButtonHeight = resources.getDimensionPixelSize( - R.dimen.taskbar_phone_home_button_size) - val roundedCornerContentMargin = resources.getDimensionPixelSize( - R.dimen.taskbar_phone_rounded_corner_content_margin) + val homeButtonHeight = + resources.getDimensionPixelSize(R.dimen.taskbar_phone_home_button_size) + val roundedCornerContentMargin = + resources.getDimensionPixelSize(R.dimen.taskbar_phone_rounded_corner_content_margin) val contentPadding = resources.getDimensionPixelSize(R.dimen.taskbar_phone_content_padding) val contentWidth = totalHeight - roundedCornerContentMargin * 2 - contentPadding * 2 @@ -63,13 +60,13 @@ open class PhoneLandscapeNavLayoutter( val sideButtonHeight = contextualButtonHeight * 2 val navButtonContainerHeight = contentWidth - contextualButtonHeight * 2 - val navContainerParams = FrameLayout.LayoutParams( - MATCH_PARENT, navButtonContainerHeight.toInt()) + val navContainerParams = + FrameLayout.LayoutParams(MATCH_PARENT, navButtonContainerHeight.toInt()) navContainerParams.apply { topMargin = - (contextualButtonHeight + contentPadding + roundedCornerContentMargin).toInt() + (contextualButtonHeight + contentPadding + roundedCornerContentMargin).toInt() bottomMargin = - (contextualButtonHeight + contentPadding + roundedCornerContentMargin).toInt() + (contextualButtonHeight + contentPadding + roundedCornerContentMargin).toInt() marginEnd = 0 marginStart = 0 } @@ -84,8 +81,8 @@ open class PhoneLandscapeNavLayoutter( navButtonContainer.gravity = Gravity.CENTER // Add the spaces in between the nav buttons - val spaceInBetween = (navButtonContainerHeight - homeButtonHeight - - sideButtonHeight * 2) / 2.0f + val spaceInBetween = + (navButtonContainerHeight - homeButtonHeight - sideButtonHeight * 2) / 2.0f for (i in 0 until navButtonContainer.childCount) { val navButton = navButtonContainer.getChildAt(i) val buttonLayoutParams = navButton.layoutParams as LinearLayout.LayoutParams @@ -124,13 +121,23 @@ open class PhoneLandscapeNavLayoutter( endContextualContainer.removeAllViews() startContextualContainer.removeAllViews() - val roundedCornerContentMargin = resources.getDimensionPixelSize( - R.dimen.taskbar_phone_rounded_corner_content_margin) + val roundedCornerContentMargin = + resources.getDimensionPixelSize(R.dimen.taskbar_phone_rounded_corner_content_margin) val contentPadding = resources.getDimensionPixelSize(R.dimen.taskbar_phone_content_padding) - repositionContextualContainer(startContextualContainer, buttonSize, - roundedCornerContentMargin + contentPadding, 0, Gravity.TOP) - repositionContextualContainer(endContextualContainer, buttonSize, - 0, roundedCornerContentMargin + contentPadding, Gravity.BOTTOM) + repositionContextualContainer( + startContextualContainer, + buttonSize, + roundedCornerContentMargin + contentPadding, + 0, + Gravity.TOP + ) + repositionContextualContainer( + endContextualContainer, + buttonSize, + 0, + roundedCornerContentMargin + contentPadding, + Gravity.BOTTOM + ) if (imeSwitcher != null) { startContextualContainer.addView(imeSwitcher) @@ -140,16 +147,16 @@ open class PhoneLandscapeNavLayoutter( startContextualContainer.addView(a11yButton) a11yButton.layoutParams = getParamsToCenterView() } - if (rotationButton != null) { - startContextualContainer.addView(rotationButton.currentView) - rotationButton.currentView.layoutParams = getParamsToCenterView() - } endContextualContainer.addView(space, MATCH_PARENT, MATCH_PARENT) } - override fun repositionContextualContainer(contextualContainer: ViewGroup, buttonSize: Int, - barAxisMarginTop: Int, barAxisMarginBottom: Int, - gravity: Int) { + override fun repositionContextualContainer( + contextualContainer: ViewGroup, + buttonSize: Int, + barAxisMarginTop: Int, + barAxisMarginBottom: Int, + gravity: Int + ) { val contextualContainerParams = FrameLayout.LayoutParams(MATCH_PARENT, buttonSize) contextualContainerParams.apply { marginStart = 0 diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhonePortraitNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhonePortraitNavLayoutter.kt index 0672270f2c..5b24ebfe1d 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhonePortraitNavLayoutter.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhonePortraitNavLayoutter.kt @@ -26,34 +26,32 @@ import android.widget.LinearLayout import android.widget.Space import com.android.launcher3.R import com.android.launcher3.taskbar.TaskbarActivityContext -import com.android.systemui.shared.rotation.RotationButton class PhonePortraitNavLayoutter( - resources: Resources, - navBarContainer: LinearLayout, - endContextualContainer: ViewGroup, - startContextualContainer: ViewGroup, - imeSwitcher: ImageView?, - rotationButton: RotationButton?, - a11yButton: ImageView?, - space: Space? + resources: Resources, + navBarContainer: LinearLayout, + endContextualContainer: ViewGroup, + startContextualContainer: ViewGroup, + imeSwitcher: ImageView?, + a11yButton: ImageView?, + space: Space? ) : AbstractNavButtonLayoutter( - resources, - navBarContainer, - endContextualContainer, - startContextualContainer, - imeSwitcher, - rotationButton, - a11yButton, - space + resources, + navBarContainer, + endContextualContainer, + startContextualContainer, + imeSwitcher, + a11yButton, + space ) { override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) { val totalWidth = context.deviceProfile.widthPx - val homeButtonWidth = resources.getDimensionPixelSize(R.dimen.taskbar_phone_home_button_size) - val roundedCornerContentMargin = resources.getDimensionPixelSize( - R.dimen.taskbar_phone_rounded_corner_content_margin) + val homeButtonWidth = + resources.getDimensionPixelSize(R.dimen.taskbar_phone_home_button_size) + val roundedCornerContentMargin = + resources.getDimensionPixelSize(R.dimen.taskbar_phone_rounded_corner_content_margin) val contentPadding = resources.getDimensionPixelSize(R.dimen.taskbar_phone_content_padding) val contentWidth = totalWidth - roundedCornerContentMargin * 2 - contentPadding * 2 @@ -62,15 +60,18 @@ class PhonePortraitNavLayoutter( val sideButtonWidth = contextualButtonWidth * 2 val navButtonContainerWidth = contentWidth - contextualButtonWidth * 2 - val navContainerParams = FrameLayout.LayoutParams(navButtonContainerWidth.toInt(), - ViewGroup.LayoutParams.MATCH_PARENT) + val navContainerParams = + FrameLayout.LayoutParams( + navButtonContainerWidth.toInt(), + ViewGroup.LayoutParams.MATCH_PARENT + ) navContainerParams.apply { topMargin = 0 bottomMargin = 0 marginEnd = - (contextualButtonWidth + contentPadding + roundedCornerContentMargin).toInt() + (contextualButtonWidth + contentPadding + roundedCornerContentMargin).toInt() marginStart = - (contextualButtonWidth + contentPadding + roundedCornerContentMargin).toInt() + (contextualButtonWidth + contentPadding + roundedCornerContentMargin).toInt() } // Ensure order of buttons is correct @@ -85,8 +86,8 @@ class PhonePortraitNavLayoutter( navButtonContainer.gravity = Gravity.CENTER // Add the spaces in between the nav buttons - val spaceInBetween = (navButtonContainerWidth - homeButtonWidth - - sideButtonWidth * 2) / 2.0f + val spaceInBetween = + (navButtonContainerWidth - homeButtonWidth - sideButtonWidth * 2) / 2.0f for (i in 0 until navButtonContainer.childCount) { val navButton = navButtonContainer.getChildAt(i) val buttonLayoutParams = navButton.layoutParams as LinearLayout.LayoutParams @@ -114,10 +115,20 @@ class PhonePortraitNavLayoutter( endContextualContainer.removeAllViews() startContextualContainer.removeAllViews() - repositionContextualContainer(startContextualContainer, contextualButtonWidth.toInt(), - roundedCornerContentMargin + contentPadding, 0, Gravity.START) - repositionContextualContainer(endContextualContainer, contextualButtonWidth.toInt(), 0, - roundedCornerContentMargin + contentPadding, Gravity.END) + repositionContextualContainer( + startContextualContainer, + contextualButtonWidth.toInt(), + roundedCornerContentMargin + contentPadding, + 0, + Gravity.START + ) + repositionContextualContainer( + endContextualContainer, + contextualButtonWidth.toInt(), + 0, + roundedCornerContentMargin + contentPadding, + Gravity.END + ) startContextualContainer.addView(space, MATCH_PARENT, MATCH_PARENT) if (imeSwitcher != null) { @@ -128,9 +139,5 @@ class PhonePortraitNavLayoutter( endContextualContainer.addView(a11yButton) a11yButton.layoutParams = getParamsToCenterView() } - if (rotationButton != null) { - endContextualContainer.addView(rotationButton.currentView) - rotationButton.currentView.layoutParams = getParamsToCenterView() - } } } diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneSeascapeNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneSeascapeNavLayoutter.kt index 869cc43990..f0b47f4caa 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneSeascapeNavLayoutter.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneSeascapeNavLayoutter.kt @@ -1,18 +1,18 @@ /* -* Copyright (C) 2023 The Android Open Source Project -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License -*/ + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ package com.android.launcher3.taskbar.navbutton @@ -24,28 +24,25 @@ import android.widget.ImageView import android.widget.LinearLayout import android.widget.Space import com.android.launcher3.R -import com.android.systemui.shared.rotation.RotationButton class PhoneSeascapeNavLayoutter( - resources: Resources, - navBarContainer: LinearLayout, - endContextualContainer: ViewGroup, - startContextualContainer: ViewGroup, - imeSwitcher: ImageView?, - rotationButton: RotationButton?, - a11yButton: ImageView?, - space: Space? + resources: Resources, + navBarContainer: LinearLayout, + endContextualContainer: ViewGroup, + startContextualContainer: ViewGroup, + imeSwitcher: ImageView?, + a11yButton: ImageView?, + space: Space? ) : - PhoneLandscapeNavLayoutter( - resources, - navBarContainer, - endContextualContainer, - startContextualContainer, - imeSwitcher, - rotationButton, - a11yButton, - space - ) { + PhoneLandscapeNavLayoutter( + resources, + navBarContainer, + endContextualContainer, + startContextualContainer, + imeSwitcher, + a11yButton, + space + ) { override fun addThreeButtons() { // Flip ordering of back and recents buttons @@ -58,13 +55,23 @@ class PhoneSeascapeNavLayoutter( endContextualContainer.removeAllViews() startContextualContainer.removeAllViews() - val roundedCornerContentMargin = resources.getDimensionPixelSize( - R.dimen.taskbar_phone_rounded_corner_content_margin) + val roundedCornerContentMargin = + resources.getDimensionPixelSize(R.dimen.taskbar_phone_rounded_corner_content_margin) val contentPadding = resources.getDimensionPixelSize(R.dimen.taskbar_phone_content_padding) - repositionContextualContainer(startContextualContainer, buttonSize, - roundedCornerContentMargin + contentPadding, 0, Gravity.TOP) - repositionContextualContainer(endContextualContainer, buttonSize, 0, - roundedCornerContentMargin + contentPadding, Gravity.BOTTOM) + repositionContextualContainer( + startContextualContainer, + buttonSize, + roundedCornerContentMargin + contentPadding, + 0, + Gravity.TOP + ) + repositionContextualContainer( + endContextualContainer, + buttonSize, + 0, + roundedCornerContentMargin + contentPadding, + Gravity.BOTTOM + ) startContextualContainer.addView(space, MATCH_PARENT, MATCH_PARENT) if (imeSwitcher != null) { @@ -75,9 +82,5 @@ class PhoneSeascapeNavLayoutter( endContextualContainer.addView(a11yButton) a11yButton.layoutParams = getParamsToCenterView() } - if (rotationButton != null) { - endContextualContainer.addView(rotationButton.currentView) - rotationButton.currentView.layoutParams = getParamsToCenterView() - } } } diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt index 8eff95cde8..91042c385f 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt @@ -27,7 +27,6 @@ import android.widget.Space import com.android.launcher3.DeviceProfile import com.android.launcher3.R import com.android.launcher3.taskbar.TaskbarActivityContext -import com.android.systemui.shared.rotation.RotationButton const val SQUARE_ASPECT_RATIO_BOTTOM_BOUND = 0.95 const val SQUARE_ASPECT_RATIO_UPPER_BOUND = 1.05 @@ -39,7 +38,6 @@ class SetupNavLayoutter( endContextualContainer: ViewGroup, startContextualContainer: ViewGroup, imeSwitcher: ImageView?, - rotationButton: RotationButton?, a11yButton: ImageView?, space: Space? ) : @@ -49,7 +47,6 @@ class SetupNavLayoutter( endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) { @@ -116,9 +113,5 @@ class SetupNavLayoutter( endContextualContainer.addView(a11yButton) a11yButton.layoutParams = getParamsToCenterView() } - if (rotationButton != null) { - endContextualContainer.addView(rotationButton.currentView) - rotationButton.currentView.layoutParams = getParamsToCenterView() - } } } diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/TaskbarNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/TaskbarNavLayoutter.kt index 34d3fad5ff..a59e8a847b 100644 --- a/quickstep/src/com/android/launcher3/taskbar/navbutton/TaskbarNavLayoutter.kt +++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/TaskbarNavLayoutter.kt @@ -26,7 +26,6 @@ import android.widget.LinearLayout import android.widget.Space import com.android.launcher3.R import com.android.launcher3.taskbar.TaskbarActivityContext -import com.android.systemui.shared.rotation.RotationButton /** Layoutter for rendering task bar in large screen, both in 3-button and gesture nav mode. */ class TaskbarNavLayoutter( @@ -35,7 +34,6 @@ class TaskbarNavLayoutter( endContextualContainer: ViewGroup, startContextualContainer: ViewGroup, imeSwitcher: ImageView?, - rotationButton: RotationButton?, a11yButton: ImageView?, space: Space? ) : @@ -45,7 +43,6 @@ class TaskbarNavLayoutter( endContextualContainer, startContextualContainer, imeSwitcher, - rotationButton, a11yButton, space ) { @@ -137,10 +134,6 @@ class TaskbarNavLayoutter( endContextualContainer.addView(a11yButton) a11yButton.layoutParams = getParamsToCenterView() } - if (rotationButton != null) { - endContextualContainer.addView(rotationButton.currentView) - rotationButton.currentView.layoutParams = getParamsToCenterView() - } } } } diff --git a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactoryTest.kt b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactoryTest.kt index c327166b77..c8f79463b1 100644 --- a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactoryTest.kt +++ b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactoryTest.kt @@ -17,8 +17,6 @@ import com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATI import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.ID_END_CONTEXTUAL_BUTTONS import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.ID_END_NAV_BUTTONS import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.ID_START_CONTEXTUAL_BUTTONS -import com.android.systemui.shared.rotation.RotationButton -import java.lang.IllegalStateException import org.junit.Assume.assumeTrue import org.junit.Before import org.junit.Test @@ -39,10 +37,9 @@ class NavButtonLayoutFactoryTest { private val mockRecentsButton: ImageView = mock() private val mockHomeButton: ImageView = mock() private val mockImeSwitcher: ImageView = mock() - private val mockRotationButton: RotationButton = mock() private val mockA11yButton: ImageView = mock() private val mockSpace: Space = mock() - private val mockConfiguration: Configuration = mock(); + private val mockConfiguration: Configuration = mock() private var surfaceRotation = Surface.ROTATION_0 @@ -210,7 +207,6 @@ class NavButtonLayoutFactoryTest { phoneMode = phoneMode, surfaceRotation = surfaceRotation, imeSwitcher = mockImeSwitcher, - rotationButton = mockRotationButton, a11yButton = mockA11yButton, space = mockSpace, )