Reduce top padding of Taskbar's All Apps tray.
The top padding looks too high because the code is assuming we have a
search bar at the top of the bottom sheet. Until we implement search, we
should temporarily reduce padding for the taskbar implementation.
Before:
- No tabs: https://screenshot.googleplex.com/AAPdR5nbwepWQ82.png
- Tabs: https://screenshot.googleplex.com/3DnQp6PKhqXyRag.png
After:
- No tabs: https://screenshot.googleplex.com/A8enwnSs8r78ccj.png
- Tabs: https://screenshot.googleplex.com/A3fAy2bXgmSPrG9.png
Test: Manual
Bug: 216683257
Change-Id: Ie0837acc3aed162b9428a209962be2a102c515c8
diff --git a/quickstep/res/layout/taskbar_all_apps.xml b/quickstep/res/layout/taskbar_all_apps.xml
index a0dce65..c7679be 100644
--- a/quickstep/res/layout/taskbar_all_apps.xml
+++ b/quickstep/res/layout/taskbar_all_apps.xml
@@ -48,7 +48,6 @@
android:layout_height="wrap_content"
android:layout_below="@id/search_container_all_apps"
android:clipToPadding="false"
- android:paddingTop="@dimen/all_apps_header_top_padding"
android:orientation="vertical">
<include layout="@layout/floating_header_content" />
diff --git a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsContainerView.java b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsContainerView.java
index e41c75f..f8d9d11 100644
--- a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsContainerView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsContainerView.java
@@ -39,4 +39,9 @@
setInsets(insets.getInsets(WindowInsets.Type.systemBars()).toRect());
return super.onApplyWindowInsets(insets);
}
+
+ @Override
+ protected boolean isSearchSupported() {
+ return false;
+ }
}
diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
index c86f08d..e4e56a9 100644
--- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
@@ -228,7 +228,9 @@
removeCustomRules(rvContainer);
removeCustomRules(getSearchRecyclerView());
- if (FeatureFlags.ENABLE_FLOATING_SEARCH_BAR.get()) {
+ if (!isSearchSupported()) {
+ layoutWithoutSearchContainer(rvContainer, showTabs);
+ } else if (FeatureFlags.ENABLE_FLOATING_SEARCH_BAR.get()) {
alignParentTop(rvContainer, showTabs);
alignParentTop(getSearchRecyclerView(), /* tabs= */ false);
layoutAboveSearchContainer(rvContainer);
@@ -342,4 +344,21 @@
return new AllAppsGridAdapter<>(mActivityContext, getLayoutInflater(), appsList,
adapterProviders);
}
+
+ // TODO(b/216683257): Remove when Taskbar All Apps supports search.
+ protected boolean isSearchSupported() {
+ return true;
+ }
+
+ private void layoutWithoutSearchContainer(View v, boolean includeTabsMargin) {
+ if (!(v.getLayoutParams() instanceof RelativeLayout.LayoutParams)) {
+ return;
+ }
+
+ RelativeLayout.LayoutParams layoutParams = (LayoutParams) v.getLayoutParams();
+ layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
+ layoutParams.topMargin = getContext().getResources().getDimensionPixelSize(includeTabsMargin
+ ? R.dimen.all_apps_header_pill_height
+ : R.dimen.all_apps_header_top_margin);
+ }
}
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
index ac10892..d308fcb 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
@@ -258,7 +258,9 @@
}
public int getScrollBarTop() {
- return getResources().getDimensionPixelOffset(R.dimen.all_apps_header_top_padding);
+ return ActivityContext.lookupContext(getContext()).getAppsView().isSearchSupported()
+ ? getResources().getDimensionPixelOffset(R.dimen.all_apps_header_top_padding)
+ : 0;
}
public RecyclerViewFastScroller getScrollbar() {