Merge "Renamin TaskbarContainerView to TaskbarDragLayer" into sc-dev
diff --git a/quickstep/res/layout/taskbar.xml b/quickstep/res/layout/taskbar.xml
index c436221..e680233 100644
--- a/quickstep/res/layout/taskbar.xml
+++ b/quickstep/res/layout/taskbar.xml
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 
-<com.android.launcher3.taskbar.TaskbarContainerView
+<com.android.launcher3.taskbar.TaskbarDragLayer
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/taskbar_container"
     android:layout_width="wrap_content"
@@ -52,4 +52,4 @@
         android:layout_height="wrap_content"
         android:visibility="gone"/>
 
-</com.android.launcher3.taskbar.TaskbarContainerView>
\ No newline at end of file
+</com.android.launcher3.taskbar.TaskbarDragLayer>
\ No newline at end of file
diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
index 6726419..c2d107c 100644
--- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
@@ -46,7 +46,7 @@
     private final TaskbarHotseatController mHotseatController;
 
     private final TaskbarActivityContext mContext;
-    final TaskbarContainerView mTaskbarContainerView;
+    final TaskbarDragLayer mTaskbarDragLayer;
     final TaskbarView mTaskbarView;
 
     private @Nullable Animator mAnimator;
@@ -55,8 +55,8 @@
     public LauncherTaskbarUIController(
             BaseQuickstepLauncher launcher, TaskbarActivityContext context) {
         mContext = context;
-        mTaskbarContainerView = context.getDragLayer();
-        mTaskbarView = mTaskbarContainerView.findViewById(R.id.taskbar_view);
+        mTaskbarDragLayer = context.getDragLayer();
+        mTaskbarView = mTaskbarDragLayer.findViewById(R.id.taskbar_view);
 
         mLauncher = launcher;
         mTaskbarStateHandler = mLauncher.getTaskbarStateHandler();
@@ -99,7 +99,7 @@
         return new TaskbarAnimationControllerCallbacks() {
             @Override
             public void updateTaskbarBackgroundAlpha(float alpha) {
-                mTaskbarContainerView.setTaskbarBackgroundAlpha(alpha);
+                mTaskbarDragLayer.setTaskbarBackgroundAlpha(alpha);
             }
 
             @Override
@@ -109,7 +109,7 @@
 
             @Override
             public void updateImeBarVisibilityAlpha(float alpha) {
-                mTaskbarContainerView.updateImeBarVisibilityAlpha(alpha);
+                mTaskbarDragLayer.updateImeBarVisibilityAlpha(alpha);
             }
 
             @Override
@@ -202,7 +202,7 @@
     }
 
     @Override
-    protected void onImeVisible(TaskbarContainerView containerView, boolean isVisible) {
+    protected void onImeVisible(TaskbarDragLayer containerView, boolean isVisible) {
         mTaskbarAnimationController.animateToVisibilityForIme(isVisible ? 0 : 1);
     }
 
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index 70f2788..8c3d453 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -87,7 +87,7 @@
 
     private final DeviceProfile mDeviceProfile;
     private final LayoutInflater mLayoutInflater;
-    private final TaskbarContainerView mTaskbarContainerView;
+    private final TaskbarDragLayer mDragLayer;
     private final TaskbarIconController mIconController;
     private final MyDragController mDragController;
 
@@ -123,9 +123,9 @@
         mDeviceProfile.updateIconSize(iconScale, getResources());
 
         mLayoutInflater = LayoutInflater.from(this).cloneInContext(this);
-        mTaskbarContainerView = (TaskbarContainerView) mLayoutInflater
+        mDragLayer = (TaskbarDragLayer) mLayoutInflater
                 .inflate(R.layout.taskbar, null, false);
-        mIconController = new TaskbarIconController(this, mTaskbarContainerView);
+        mIconController = new TaskbarIconController(this, mDragLayer);
         mDragController = new MyDragController(this);
 
         Display display = windowContext.getDisplay();
@@ -157,7 +157,7 @@
         );
 
         mIconController.init(mOnTaskbarIconClickListener, mOnTaskbarIconLongClickListener);
-        mWindowManager.addView(mTaskbarContainerView, mWindowLayoutParams);
+        mWindowManager.addView(mDragLayer, mWindowLayoutParams);
     }
 
     /**
@@ -168,7 +168,7 @@
             return;
         }
         mWindowLayoutParams.height = height;
-        mWindowManager.updateViewLayout(mTaskbarContainerView, mWindowLayoutParams);
+        mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
     }
 
     public boolean canShowNavButtons() {
@@ -181,8 +181,8 @@
     }
 
     @Override
-    public TaskbarContainerView getDragLayer() {
-        return mTaskbarContainerView;
+    public TaskbarDragLayer getDragLayer() {
+        return mDragLayer;
     }
 
     @Override
@@ -192,7 +192,7 @@
 
     @Override
     public Rect getFolderBoundingBox() {
-        return mTaskbarContainerView.getFolderBoundingBox();
+        return mDragLayer.getFolderBoundingBox();
     }
 
     @Override
@@ -216,15 +216,28 @@
     public void onDestroy() {
         setUIController(TaskbarUIController.DEFAULT);
         mIconController.onDestroy();
-        mWindowManager.removeViewImmediate(mTaskbarContainerView);
+        mWindowManager.removeViewImmediate(mDragLayer);
     }
 
     void onNavigationButtonClick(@TaskbarButton int buttonType) {
         mNavButtonController.onButtonClick(buttonType);
     }
 
-    public TaskbarIconController getIconController() {
-        return mIconController;
+    /**
+     * Should be called when the IME visibility changes, so we can hide/show Taskbar accordingly.
+     */
+    public void setImeIsVisible(boolean isImeVisible) {
+        mIconController.setImeIsVisible(isImeVisible);
+    }
+
+    /**
+     * When in 3 button nav, the above doesn't get called since we prevent sysui nav bar from
+     * instantiating at all, which is what's responsible for sending sysui state flags over.
+     *
+     * @param vis IME visibility flag
+     */
+    public void updateImeStatus(int displayId, int vis, boolean showImeSwitcher) {
+        mIconController.updateImeStatus(displayId, vis, showImeSwitcher);
     }
 
     /**
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarContainerView.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java
similarity index 90%
rename from quickstep/src/com/android/launcher3/taskbar/TaskbarContainerView.java
rename to quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java
index 5034791..45ec911 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarContainerView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java
@@ -35,7 +35,7 @@
 /**
  * Top-level ViewGroup that hosts the TaskbarView as well as Views created by it such as Folder.
  */
-public class TaskbarContainerView extends BaseDragLayer<TaskbarActivityContext> {
+public class TaskbarDragLayer extends BaseDragLayer<TaskbarActivityContext> {
 
     private final int mFolderMargin;
     private final Paint mTaskbarBackgroundPaint;
@@ -45,20 +45,20 @@
 
     private final OnComputeInsetsListener mTaskbarInsetsComputer = this::onComputeTaskbarInsets;
 
-    public TaskbarContainerView(@NonNull Context context) {
+    public TaskbarDragLayer(@NonNull Context context) {
         this(context, null);
     }
 
-    public TaskbarContainerView(@NonNull Context context, @Nullable AttributeSet attrs) {
+    public TaskbarDragLayer(@NonNull Context context, @Nullable AttributeSet attrs) {
         this(context, attrs, 0);
     }
 
-    public TaskbarContainerView(@NonNull Context context, @Nullable AttributeSet attrs,
+    public TaskbarDragLayer(@NonNull Context context, @Nullable AttributeSet attrs,
             int defStyleAttr) {
         this(context, attrs, defStyleAttr, 0);
     }
 
-    public TaskbarContainerView(@NonNull Context context, @Nullable AttributeSet attrs,
+    public TaskbarDragLayer(@NonNull Context context, @Nullable AttributeSet attrs,
             int defStyleAttr, int defStyleRes) {
         super(context, attrs, 1 /* alphaChannelCount */);
         mFolderMargin = getResources().getDimensionPixelSize(R.dimen.taskbar_folder_margin);
@@ -118,7 +118,7 @@
     public void onViewRemoved(View child) {
         super.onViewRemoved(child);
         if (mControllerCallbacks != null) {
-            mControllerCallbacks.onContainerViewRemoved();
+            mControllerCallbacks.onDragLayerViewRemoved();
         }
     }
 
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java
index 2a37915..683a5b9 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java
@@ -41,7 +41,7 @@
     private final Rect mTempRect = new Rect();
 
     private final TaskbarActivityContext mActivity;
-    private final TaskbarContainerView mContainerView;
+    private final TaskbarDragLayer mDragLayer;
 
     private final TaskbarView mTaskbarView;
     private final ImeBarView mImeBarView;
@@ -49,15 +49,15 @@
     @NonNull
     private TaskbarUIController mUIController = TaskbarUIController.DEFAULT;
 
-    TaskbarIconController(TaskbarActivityContext activity, TaskbarContainerView containerView) {
+    TaskbarIconController(TaskbarActivityContext activity, TaskbarDragLayer dragLayer) {
         mActivity = activity;
-        mContainerView = containerView;
-        mTaskbarView = mContainerView.findViewById(R.id.taskbar_view);
-        mImeBarView = mContainerView.findViewById(R.id.ime_bar_view);
+        mDragLayer = dragLayer;
+        mTaskbarView = mDragLayer.findViewById(R.id.taskbar_view);
+        mImeBarView = mDragLayer.findViewById(R.id.ime_bar_view);
     }
 
     public void init(OnClickListener clickListener, OnLongClickListener longClickListener) {
-        mContainerView.addOnLayoutChangeListener((v, a, b, c, d, e, f, g, h) ->
+        mDragLayer.addOnLayoutChangeListener((v, a, b, c, d, e, f, g, h) ->
                 mUIController.alignRealHotseatWithTaskbar());
 
         ButtonProvider buttonProvider = new ButtonProvider(mActivity);
@@ -65,11 +65,11 @@
         mTaskbarView.construct(clickListener, longClickListener, buttonProvider);
         mTaskbarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize;
 
-        mContainerView.init(new Callbacks(), mTaskbarView);
+        mDragLayer.init(new Callbacks(), mTaskbarView);
     }
 
     public void onDestroy() {
-        mContainerView.onDestroy();
+        mDragLayer.onDestroy();
     }
 
     public void setUIController(@NonNull TaskbarUIController uiController) {
@@ -96,11 +96,11 @@
      */
     public void setImeIsVisible(boolean isImeVisible) {
         mTaskbarView.setTouchesEnabled(!isImeVisible);
-        mUIController.onImeVisible(mContainerView, isImeVisible);
+        mUIController.onImeVisible(mDragLayer, isImeVisible);
     }
 
     /**
-     * Callbacks for {@link TaskbarContainerView} to interact with the icon controller
+     * Callbacks for {@link TaskbarDragLayer} to interact with the icon controller
      */
     public class Callbacks {
 
@@ -109,7 +109,7 @@
          */
         public void updateInsetsTouchability(InsetsInfo insetsInfo) {
             insetsInfo.touchableRegion.setEmpty();
-            if (mContainerView.getAlpha() < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) {
+            if (mDragLayer.getAlpha() < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) {
                 // Let touches pass through us.
                 insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION);
             } else if (mImeBarView.getVisibility() == VISIBLE) {
@@ -122,7 +122,7 @@
                 insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME);
             } else {
                 if (mTaskbarView.mSystemButtonContainer.getVisibility() == VISIBLE) {
-                    mContainerView.getDescendantRectRelativeToSelf(
+                    mDragLayer.getDescendantRectRelativeToSelf(
                             mTaskbarView.mSystemButtonContainer, mTempRect);
                     insetsInfo.touchableRegion.set(mTempRect);
                 }
@@ -135,15 +135,15 @@
             // mTaskbarView is, since its position never changes and insets rather than overlays.
             insetsInfo.contentInsets.left = mTaskbarView.getLeft();
             insetsInfo.contentInsets.top = mTaskbarView.getTop();
-            insetsInfo.contentInsets.right = mContainerView.getWidth() - mTaskbarView.getRight();
-            insetsInfo.contentInsets.bottom = mContainerView.getHeight() - mTaskbarView.getBottom();
+            insetsInfo.contentInsets.right = mDragLayer.getWidth() - mTaskbarView.getRight();
+            insetsInfo.contentInsets.bottom = mDragLayer.getHeight() - mTaskbarView.getBottom();
         }
 
-        public void onContainerViewRemoved() {
-            int count = mContainerView.getChildCount();
+        public void onDragLayerViewRemoved() {
+            int count = mDragLayer.getChildCount();
             // Ensure no other children present (like Folders, etc)
             for (int i = 0; i < count; i++) {
-                View v = mContainerView.getChildAt(i);
+                View v = mDragLayer.getChildAt(i);
                 if (!((v instanceof TaskbarView) || (v instanceof ImeBarView))) {
                     return;
                 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
index 263aa11..d026bfb 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
@@ -139,7 +139,7 @@
     public void onSystemUiFlagsChanged(int systemUiStateFlags) {
         boolean isImeVisible = (systemUiStateFlags & SYSUI_STATE_IME_SHOWING) != 0;
         if (mTaskbarActivityContext != null) {
-            mTaskbarActivityContext.getIconController().setImeIsVisible(isImeVisible);
+            mTaskbarActivityContext.setImeIsVisible(isImeVisible);
         }
     }
 
@@ -154,8 +154,7 @@
     public void updateImeStatus(int displayId, int vis, int backDisposition,
             boolean showImeSwitcher) {
         if (mTaskbarActivityContext != null) {
-            mTaskbarActivityContext.getIconController()
-                    .updateImeStatus(displayId, vis, showImeSwitcher);
+            mTaskbarActivityContext.updateImeStatus(displayId, vis, showImeSwitcher);
         }
     }
 
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
index e16f5e6..50adead 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
@@ -35,7 +35,7 @@
         return true;
     }
 
-    protected void onImeVisible(TaskbarContainerView container, boolean isVisible) {
+    protected void onImeVisible(TaskbarDragLayer container, boolean isVisible) {
         container.updateImeBarVisibilityAlpha(isVisible ? 1 : 0);
     }
 }