Don't apply nav bar insets in tablets

- With flexible inset changes in T, taskbar is no longer inseted in getCurrentSizeRange, i.e. DeviceProfile.availableHeight no longer inset nav bar size
- In order for home screen sizes to be calcualted correctly, avoid inseting nav bar in LauncherRootView
- Only apply a bottom padding with stashed taskbar size to necessarily surfaces (Overview)
- Home screen icon overlap will be fixed in separate CL

Bug: 215528237
Test: maual in tablet gesture nav and 3 buttons
Change-Id: I9bc796ba059159e819f8cd121ddabab96c8113d2
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 1a5b321..49981be 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -219,6 +219,7 @@
     // Whether Taskbar will inset the bottom of apps by taskbarSize.
     public boolean isTaskbarPresentInApps;
     public int taskbarSize;
+    public int stashedTaskbarSize;
 
     // DragController
     public int flingToDeleteThresholdVelocity;
@@ -256,12 +257,7 @@
         widthPx = windowBounds.bounds.width();
         heightPx = windowBounds.bounds.height();
         availableWidthPx = windowBounds.availableSize.x;
-        int taskbarInset = isTaskbarPresent
-                ? ResourceUtils.getNavbarSize(
-                        isLandscape ? "navigation_bar_height_landscape" : "navigation_bar_height",
-                        res)
-                : 0;
-        availableHeightPx =  windowBounds.availableSize.y - taskbarInset;
+        availableHeightPx =  windowBounds.availableSize.y;
 
         aspectRatio = ((float) Math.max(widthPx, heightPx)) / Math.min(widthPx, heightPx);
         boolean isTallDevice = Float.compare(aspectRatio, TALL_DEVICE_ASPECT_RATIO_THRESHOLD) >= 0;
@@ -283,6 +279,7 @@
 
         if (isTaskbarPresent) {
             taskbarSize = res.getDimensionPixelSize(R.dimen.taskbar_size);
+            stashedTaskbarSize = res.getDimensionPixelSize(R.dimen.taskbar_stashed_size);
         }
 
         edgeMarginPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_edge_margin);
diff --git a/src/com/android/launcher3/LauncherRootView.java b/src/com/android/launcher3/LauncherRootView.java
index 5ef3690..e3aa758 100644
--- a/src/com/android/launcher3/LauncherRootView.java
+++ b/src/com/android/launcher3/LauncherRootView.java
@@ -105,8 +105,9 @@
                     resources,
                     INVALID_RESOURCE_HANDLE) == 2;
             if (dp.isTablet || isGesturalMode) {
-                newNavInsets.bottom = ResourceUtils.getNavbarSize(
-                        "navigation_bar_height_landscape", resources);
+                newNavInsets.bottom = dp.isTaskbarPresent
+                        ? 0
+                        : ResourceUtils.getNavbarSize("navigation_bar_height_landscape", resources);
             } else {
                 int navWidth = ResourceUtils.getNavbarSize("navigation_bar_width", resources);
                 if (dp.isSeascape()) {
@@ -116,7 +117,9 @@
                 }
             }
         } else {
-            newNavInsets.bottom = ResourceUtils.getNavbarSize("navigation_bar_height", resources);
+            newNavInsets.bottom = dp.isTaskbarPresent
+                    ? 0
+                    : ResourceUtils.getNavbarSize("navigation_bar_height", resources);
         }
         updatedInsetsBuilder.setInsets(WindowInsets.Type.navigationBars(), Insets.of(newNavInsets));
         updatedInsetsBuilder.setInsetsIgnoringVisibility(WindowInsets.Type.navigationBars(),