Loading src/com/android/launcher3/allapps/BaseAllAppsContainerView.java +20 −8 Original line number Diff line number Diff line Loading @@ -88,6 +88,9 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte public static final float PULL_MULTIPLIER = .02f; public static final float FLING_VELOCITY_MULTIPLIER = 1200f; // Render the header protection at all times to debug clipping issues. private static final boolean DEBUG_HEADER_PROTECTION = false; private final Paint mHeaderPaint = new Paint(Paint.ANTI_ALIAS_FLAG); private final Rect mInsets = new Rect(); Loading Loading @@ -129,7 +132,6 @@ 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; Loading @@ -142,8 +144,6 @@ 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( Loading Loading @@ -728,17 +728,29 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte if (!mHeader.isHeaderProtectionSupported()) { return; } if (DEBUG_HEADER_PROTECTION) { mHeaderPaint.setColor(Color.MAGENTA); mHeaderPaint.setAlpha(255); } else { mHeaderPaint.setColor(mHeaderColor); mHeaderPaint.setAlpha((int) (getAlpha() * Color.alpha(mHeaderColor))); } if (mHeaderPaint.getColor() != mScrimColor && mHeaderPaint.getColor() != 0) { int bottom = getHeaderBottom(); FloatingHeaderView headerView = getFloatingHeaderView(); if (!mUsingTabs) { bottom += getFloatingHeaderView().getPaddingBottom() - mHeaderBottomAdjustment; // Add protection which is otherwise added when tabs scroll up. bottom += headerView.getTabsAdditionalPaddingTop(); } canvas.drawRect(0, 0, canvas.getWidth(), bottom, mHeaderPaint); int tabsHeight = getFloatingHeaderView().getPeripheralProtectionHeight(); int tabsHeight = headerView.getPeripheralProtectionHeight(); if (mTabsProtectionAlpha > 0 && tabsHeight != 0) { if (DEBUG_HEADER_PROTECTION) { mHeaderPaint.setColor(Color.BLUE); mHeaderPaint.setAlpha(255); } else { mHeaderPaint.setAlpha((int) (getAlpha() * mTabsProtectionAlpha)); } canvas.drawRect(0, bottom, canvas.getWidth(), bottom + tabsHeight, mHeaderPaint); } } Loading src/com/android/launcher3/allapps/FloatingHeaderView.java +8 −3 Original line number Diff line number Diff line Loading @@ -277,7 +277,7 @@ public class FloatingHeaderView extends LinearLayout implements } } public int getMaxTranslation() { int getMaxTranslation() { if (mMaxTranslation == 0 && (mTabsHidden || mFloatingRowsCollapsed)) { return getResources().getDimensionPixelSize(R.dimen.all_apps_search_bar_bottom_padding); } else if (mMaxTranslation > 0 && mTabsHidden) { Loading Loading @@ -334,7 +334,8 @@ public class FloatingHeaderView extends LinearLayout implements int clipTop = getPaddingTop() - mTabsAdditionalPaddingTop; if (mTabsHidden) { clipTop += getPaddingBottom() - mTabsAdditionalPaddingBottom; // Add back spacing that is otherwise covered by the tabs. clipTop += mTabsAdditionalPaddingTop; } mRVClip.top = mTabsHidden || mFloatingRowsCollapsed ? clipTop : 0; mHeaderClip.top = clipTop; Loading Loading @@ -405,6 +406,10 @@ public class FloatingHeaderView extends LinearLayout implements return mFloatingRowsHeight; } int getTabsAdditionalPaddingTop() { return mTabsAdditionalPaddingTop; } int getTabsAdditionalPaddingBottom() { return mTabsAdditionalPaddingBottom; } Loading Loading @@ -473,7 +478,7 @@ public class FloatingHeaderView extends LinearLayout implements /** * Returns visible height of FloatingHeaderView contents requiring header protection */ public int getPeripheralProtectionHeight() { int getPeripheralProtectionHeight() { if (!mHeaderProtectionSupported) { return 0; } Loading Loading
src/com/android/launcher3/allapps/BaseAllAppsContainerView.java +20 −8 Original line number Diff line number Diff line Loading @@ -88,6 +88,9 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte public static final float PULL_MULTIPLIER = .02f; public static final float FLING_VELOCITY_MULTIPLIER = 1200f; // Render the header protection at all times to debug clipping issues. private static final boolean DEBUG_HEADER_PROTECTION = false; private final Paint mHeaderPaint = new Paint(Paint.ANTI_ALIAS_FLAG); private final Rect mInsets = new Rect(); Loading Loading @@ -129,7 +132,6 @@ 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; Loading @@ -142,8 +144,6 @@ 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( Loading Loading @@ -728,17 +728,29 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte if (!mHeader.isHeaderProtectionSupported()) { return; } if (DEBUG_HEADER_PROTECTION) { mHeaderPaint.setColor(Color.MAGENTA); mHeaderPaint.setAlpha(255); } else { mHeaderPaint.setColor(mHeaderColor); mHeaderPaint.setAlpha((int) (getAlpha() * Color.alpha(mHeaderColor))); } if (mHeaderPaint.getColor() != mScrimColor && mHeaderPaint.getColor() != 0) { int bottom = getHeaderBottom(); FloatingHeaderView headerView = getFloatingHeaderView(); if (!mUsingTabs) { bottom += getFloatingHeaderView().getPaddingBottom() - mHeaderBottomAdjustment; // Add protection which is otherwise added when tabs scroll up. bottom += headerView.getTabsAdditionalPaddingTop(); } canvas.drawRect(0, 0, canvas.getWidth(), bottom, mHeaderPaint); int tabsHeight = getFloatingHeaderView().getPeripheralProtectionHeight(); int tabsHeight = headerView.getPeripheralProtectionHeight(); if (mTabsProtectionAlpha > 0 && tabsHeight != 0) { if (DEBUG_HEADER_PROTECTION) { mHeaderPaint.setColor(Color.BLUE); mHeaderPaint.setAlpha(255); } else { mHeaderPaint.setAlpha((int) (getAlpha() * mTabsProtectionAlpha)); } canvas.drawRect(0, bottom, canvas.getWidth(), bottom + tabsHeight, mHeaderPaint); } } Loading
src/com/android/launcher3/allapps/FloatingHeaderView.java +8 −3 Original line number Diff line number Diff line Loading @@ -277,7 +277,7 @@ public class FloatingHeaderView extends LinearLayout implements } } public int getMaxTranslation() { int getMaxTranslation() { if (mMaxTranslation == 0 && (mTabsHidden || mFloatingRowsCollapsed)) { return getResources().getDimensionPixelSize(R.dimen.all_apps_search_bar_bottom_padding); } else if (mMaxTranslation > 0 && mTabsHidden) { Loading Loading @@ -334,7 +334,8 @@ public class FloatingHeaderView extends LinearLayout implements int clipTop = getPaddingTop() - mTabsAdditionalPaddingTop; if (mTabsHidden) { clipTop += getPaddingBottom() - mTabsAdditionalPaddingBottom; // Add back spacing that is otherwise covered by the tabs. clipTop += mTabsAdditionalPaddingTop; } mRVClip.top = mTabsHidden || mFloatingRowsCollapsed ? clipTop : 0; mHeaderClip.top = clipTop; Loading Loading @@ -405,6 +406,10 @@ public class FloatingHeaderView extends LinearLayout implements return mFloatingRowsHeight; } int getTabsAdditionalPaddingTop() { return mTabsAdditionalPaddingTop; } int getTabsAdditionalPaddingBottom() { return mTabsAdditionalPaddingBottom; } Loading Loading @@ -473,7 +478,7 @@ public class FloatingHeaderView extends LinearLayout implements /** * Returns visible height of FloatingHeaderView contents requiring header protection */ public int getPeripheralProtectionHeight() { int getPeripheralProtectionHeight() { if (!mHeaderProtectionSupported) { return 0; } Loading