Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a476da7 authored by Andy Wickham's avatar Andy Wickham
Browse files

Fixes Search bar padding when work profile not present.

The full padding was accounted for between the search bar and the
work/personal tabs, but only part of it was there when the tabs
were not shown.

Screenshot: https://screenshot.googleplex.com/8axV9QQ5Qy8MaUn.png

Test: Manually with and without work profile added. In the latter
case, nothing changed. The screenshot reflects the former case.
Fix: 233010483

Change-Id: I11b3c8cc814be48c25cbd9f454c3e122fff96fa0
parent d4a79eb9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
        style="@style/FastScrollerPopup"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/all_apps_header"
        android:layout_marginTop="@dimen/all_apps_header_bottom_padding"
        android:layout_marginEnd="@dimen/fastscroll_popup_margin" />

    <com.android.launcher3.views.RecyclerViewFastScroller
@@ -31,6 +32,7 @@
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/all_apps_header"
        android:layout_marginTop="@dimen/all_apps_header_bottom_padding"
        android:layout_marginEnd="@dimen/fastscroll_end_margin"
        launcher:canThumbDetach="true" />

+6 −0
Original line number Diff line number Diff line
@@ -128,6 +128,7 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte
    private final int mScrimColor;
    private final int mHeaderProtectionColor;
    protected final float mHeaderThreshold;
    private int mHeaderBottomAdjustment;
    private ScrimView mScrimView;
    private int mHeaderColor;
    private int mTabsProtectionAlpha;
@@ -140,6 +141,8 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte
        mScrimColor = Themes.getAttrColor(context, R.attr.allAppsScrimColor);
        mHeaderThreshold = getResources().getDimensionPixelSize(
                R.dimen.dynamic_grid_cell_border_spacing);
        mHeaderBottomAdjustment = getResources().getDimensionPixelSize(
                R.dimen.all_apps_header_bottom_adjustment);
        mHeaderProtectionColor = Themes.getAttrColor(context, R.attr.allappsHeaderProtectionColor);

        mWorkManager = new WorkProfileManager(
@@ -722,6 +725,9 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte
        mHeaderPaint.setAlpha((int) (getAlpha() * Color.alpha(mHeaderColor)));
        if (mHeaderPaint.getColor() != mScrimColor && mHeaderPaint.getColor() != 0) {
            int bottom = getHeaderBottom();
            if (!mUsingTabs) {
                bottom += getFloatingHeaderView().getPaddingBottom() - mHeaderBottomAdjustment;
            }
            canvas.drawRect(0, 0, canvas.getWidth(), bottom, mHeaderPaint);
            int tabsHeight = getFloatingHeaderView().getPeripheralProtectionHeight();
            if (mTabsProtectionAlpha > 0 && tabsHeight != 0) {
+5 −5
Original line number Diff line number Diff line
@@ -81,7 +81,6 @@ public class FloatingHeaderView extends LinearLayout implements

    protected final Map<AllAppsRow, PluginHeaderRow> mPluginRows = new ArrayMap<>();

    private final int mHeaderTopPadding;
    // These two values are necessary to ensure that the header protection is drawn correctly.
    private final int mHeaderTopAdjustment;
    private final int mHeaderBottomAdjustment;
@@ -118,8 +117,6 @@ public class FloatingHeaderView extends LinearLayout implements

    public FloatingHeaderView(@NonNull Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        mHeaderTopPadding = context.getResources()
                .getDimensionPixelSize(R.dimen.all_apps_header_top_padding);
        mHeaderTopAdjustment = context.getResources()
                .getDimensionPixelSize(R.dimen.all_apps_header_top_adjustment);
        mHeaderBottomAdjustment = context.getResources()
@@ -326,7 +323,7 @@ public class FloatingHeaderView extends LinearLayout implements
        int uncappedTranslationY = mTranslationY;
        mTranslationY = Math.max(mTranslationY, -mMaxTranslation);

        if (mCollapsed || uncappedTranslationY < mTranslationY - mHeaderTopPadding) {
        if (mCollapsed || uncappedTranslationY < mTranslationY - getPaddingTop()) {
            // we hide it completely if already capped (for opening search anim)
            for (FloatingHeaderRow row : mAllRows) {
                row.setVerticalScroll(0, true /* isScrolledOut */);
@@ -339,7 +336,10 @@ public class FloatingHeaderView extends LinearLayout implements

        mTabLayout.setTranslationY(mTranslationY);

        int clipTop = mHeaderTopPadding - mHeaderTopAdjustment;
        int clipTop = getPaddingTop() - mHeaderTopAdjustment;
        if (mTabsHidden) {
            clipTop += getPaddingBottom() - mHeaderBottomAdjustment;
        }
        mRVClip.top = mTabsHidden ? clipTop : 0;
        mHeaderClip.top = clipTop;
        // clipping on a draw might cause additional redraw