Merge "Move AllAppsButton placement for desktop environment." into tm-qpr-dev
diff --git a/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
index 0ab3cfd5..48481d8 100644
--- a/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
@@ -18,6 +18,8 @@
 import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_NOTIFICATIONS;
 import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_QUICK_SETTINGS;
 
+import android.view.LayoutInflater;
+import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
@@ -31,6 +33,8 @@
     private final TaskbarActivityContext mContext;
     private final FrameLayout mNavButtonsView;
     private final ViewGroup mNavButtonContainer;
+    private final ViewGroup mStartContextualContainer;
+    private final View mAllAppsButton;
 
     private TaskbarControllers mControllers;
 
@@ -40,6 +44,12 @@
         mContext = context;
         mNavButtonsView = navButtonsView;
         mNavButtonContainer = mNavButtonsView.findViewById(R.id.end_nav_buttons);
+        mStartContextualContainer = mNavButtonsView.findViewById(R.id.start_contextual_buttons);
+        mAllAppsButton = LayoutInflater.from(context)
+                .inflate(R.layout.taskbar_all_apps_button, mStartContextualContainer, false);
+        mAllAppsButton.setOnClickListener((View v) -> {
+            mControllers.taskbarAllAppsController.show();
+        });
     }
 
     /**
@@ -57,6 +67,8 @@
         addButton(R.drawable.ic_sysbar_notifications, BUTTON_NOTIFICATIONS,
                 mNavButtonContainer, mControllers.navButtonController,
                 R.id.notifications_button);
+        // All apps button
+        mStartContextualContainer.addView(mAllAppsButton);
     }
 
     /** Cleans up on destroy */
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
index 31c2132..f3eff46 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
@@ -17,6 +17,7 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.content.res.Resources;
 import android.graphics.Canvas;
 import android.graphics.Rect;
@@ -126,6 +127,9 @@
             mAllAppsButton = LayoutInflater.from(context)
                     .inflate(R.layout.taskbar_all_apps_button, this, false);
             mAllAppsButton.setPadding(mItemPadding, mItemPadding, mItemPadding, mItemPadding);
+            if (mActivityContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_PC)) {
+                mAllAppsButton.setVisibility(GONE);
+            }
         }
 
         // TODO: Disable touch events on QSB otherwise it can crash.