diff options
author | Vinit Nayak <peanutbutter@google.com> | 2021-05-25 19:26:48 -0700 |
---|---|---|
committer | Vinit Nayak <peanutbutter@google.com> | 2021-06-01 13:16:48 -0700 |
commit | 91dca0f2829753f399db0cfad99d4d793ab7368c (patch) | |
tree | 482351099e651899f464b0ea049a6f7275df04ad /quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java | |
parent | 23bb5e0bfcecde268433de1265fef6628bdd4a9f (diff) |
Initial commit of rotation contextual button.
UI fixing todo: b/187754252
Bug: 180046394
Test: Works in basic cases with on home and
in app taskbar.
Change-Id: I69985b57e38a9fdb7935fcafb097b1e6da73a6b9
Diffstat (limited to 'quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java')
-rw-r--r-- | quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java index cf0694ba60..5d4b8b7f4e 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java @@ -31,6 +31,8 @@ import androidx.annotation.NonNull; import com.android.launcher3.R; import com.android.launcher3.anim.AlphaUpdateListener; +import com.android.launcher3.taskbar.contextual.RotationButtonController; +import com.android.quickstep.SysUINavigationMode; import com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo; /** @@ -45,18 +47,22 @@ public class TaskbarIconController { private final TaskbarView mTaskbarView; private final ImeBarView mImeBarView; + private final RotationButtonController mRotationButtonController; @NonNull private TaskbarUIController mUIController = TaskbarUIController.DEFAULT; - TaskbarIconController(TaskbarActivityContext activity, TaskbarDragLayer dragLayer) { + TaskbarIconController(TaskbarActivityContext activity, TaskbarDragLayer dragLayer, + RotationButtonController rotationButtonController) { mActivity = activity; mDragLayer = dragLayer; mTaskbarView = mDragLayer.findViewById(R.id.taskbar_view); mImeBarView = mDragLayer.findViewById(R.id.ime_bar_view); + mRotationButtonController = rotationButtonController; } - public void init(OnClickListener clickListener, OnLongClickListener longClickListener) { + public void init(OnClickListener clickListener, OnLongClickListener longClickListener, + SysUINavigationMode.Mode navMode) { mDragLayer.addOnLayoutChangeListener((v, a, b, c, d, e, f, g, h) -> mUIController.alignRealHotseatWithTaskbar()); @@ -67,6 +73,9 @@ public class TaskbarIconController { mTaskbarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize; mDragLayer.init(new TaskbarDragLayerCallbacks(), mTaskbarView); + if (navMode == SysUINavigationMode.Mode.THREE_BUTTONS) { + mRotationButtonController.setRotationButton(mTaskbarView.getContextualRotationButton()); + } } public void onDestroy() { @@ -127,6 +136,12 @@ public class TaskbarIconController { mTaskbarView.mSystemButtonContainer, mTempRect); insetsInfo.touchableRegion.set(mTempRect); } + if (mTaskbarView.mContextualButtonContainer.getVisibility() == VISIBLE) { + mDragLayer.getDescendantRectRelativeToSelf( + mTaskbarView.mContextualButtonContainer, mTempRect); + insetsInfo.touchableRegion.union(mTempRect); + } + insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); } |