Merge "Move search bar background protection on top of scrollbar." into tm-qpr-dev
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index d041dfe..321aef5 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -93,6 +93,8 @@
-->
<dimen name="fastscroll_width">58dp</dimen>
<dimen name="fastscroll_end_margin">-26dp</dimen>
+ <!-- Extra margin between bottom of the scrollbar and the search bar protection layer. -->
+ <dimen name="fastscroll_bottom_margin_floating_search">4dp</dimen>
<!-- PagedView -->
<dimen name="fling_threshold_velocity">500dp</dimen>
@@ -139,11 +141,6 @@
<dimen name="arrow_toast_elevation">2dp</dimen>
<dimen name="arrow_toast_arrow_width">10dp</dimen>
- <!-- Search bar in All Apps -->
- <dimen name="all_apps_header_max_elevation">3dp</dimen>
- <dimen name="all_apps_header_scroll_to_elevation">16dp</dimen>
- <dimen name="all_apps_header_shadow_height">6dp</dimen>
-
<dimen name="all_apps_divider_margin_vertical">8dp</dimen>
<!-- Floating action button inside work tab to toggle work profile -->
diff --git a/src/com/android/launcher3/FastScrollRecyclerView.java b/src/com/android/launcher3/FastScrollRecyclerView.java
index 2f927d3..3504b24 100644
--- a/src/com/android/launcher3/FastScrollRecyclerView.java
+++ b/src/com/android/launcher3/FastScrollRecyclerView.java
@@ -77,11 +77,15 @@
return getPaddingTop();
}
+ public int getScrollBarMarginBottom() {
+ return getPaddingBottom();
+ }
+
/**
* Returns the height of the fast scroll bar
*/
public int getScrollbarTrackHeight() {
- return mScrollbar.getHeight() - getScrollBarTop() - getPaddingBottom();
+ return mScrollbar.getHeight() - getScrollBarTop() - getScrollBarMarginBottom();
}
/**
diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
index 3aa9f7c..3bb8fb4 100644
--- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
@@ -215,9 +215,9 @@
mBottomSheetHandleArea = findViewById(R.id.bottom_sheet_handle_area);
mSearchRecyclerView = findViewById(R.id.search_results_list_view);
- // Add the search box next to the header
+ // Add the search box above everything else.
mSearchContainer = inflateSearchBox();
- addView(mSearchContainer, indexOfChild(mHeader) + 1);
+ addView(mSearchContainer);
mSearchUiManager = (SearchUiManager) mSearchContainer;
}
@@ -469,6 +469,16 @@
}
setupHeader();
+ if (FeatureFlags.ENABLE_FLOATING_SEARCH_BAR.get()) {
+ // Keep the scroller above the search bar.
+ RelativeLayout.LayoutParams scrollerLayoutParams =
+ (LayoutParams) findViewById(R.id.fast_scroller).getLayoutParams();
+ scrollerLayoutParams.addRule(RelativeLayout.ABOVE, R.id.search_container_all_apps);
+ scrollerLayoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
+ scrollerLayoutParams.bottomMargin = getResources().getDimensionPixelSize(
+ R.dimen.fastscroll_bottom_margin_floating_search);
+ }
+
mAllAppsStore.registerIconContainer(mAH.get(AdapterHolder.MAIN).mRecyclerView);
mAllAppsStore.registerIconContainer(mAH.get(AdapterHolder.WORK).mRecyclerView);
mAllAppsStore.registerIconContainer(mAH.get(AdapterHolder.SEARCH).mRecyclerView);
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
index 7789191..6b45fe6 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
@@ -261,12 +261,19 @@
}
}
+ @Override
public int getScrollBarTop() {
return ActivityContext.lookupContext(getContext()).getAppsView().isSearchSupported()
? getResources().getDimensionPixelOffset(R.dimen.all_apps_header_top_padding)
: 0;
}
+ @Override
+ public int getScrollBarMarginBottom() {
+ return getRootWindowInsets() == null ? 0
+ : getRootWindowInsets().getSystemWindowInsetBottom();
+ }
+
public RecyclerViewFastScroller getScrollbar() {
return mScrollbar;
}