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

Commit 06580312 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge changes I09bce218,Id5716a34 into ub-launcher3-calgary

* changes:
  Matching hotseat to spec.
  Fixing issue with shadow drawing over search bar.
parents 35a754ba 6231ede1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
    <dimen name="dynamic_grid_overview_bar_item_width">80dp</dimen>
    <dimen name="dynamic_grid_overview_bar_spacer_width">25dp</dimen>
    <dimen name="dynamic_grid_hotseat_height">88dp</dimen>
    <dimen name="dynamic_grid_hotseat_top_padding">12dp</dimen>
    <dimen name="dynamic_grid_hotseat_top_padding">8dp</dimen>
    <dimen name="dynamic_grid_hotseat_gutter_width">24dp</dimen>
    <dimen name="dynamic_grid_workspace_top_padding">12dp</dimen>
    <dimen name="dynamic_grid_workspace_page_spacing">8dp</dimen>
+2 −1
Original line number Diff line number Diff line
@@ -406,7 +406,8 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler {
            mTouchFeedbackView.animate().cancel();
        } else {
            if (mTouchFeedbackView.setBitmap(background)) {
                mTouchFeedbackView.alignWithIconView(icon, mShortcutsAndWidgets);
                mTouchFeedbackView.alignWithIconView(icon, mShortcutsAndWidgets,
                        null /* clipAgainstView */);
                mTouchFeedbackView.animateShadow();
            }
        }
+16 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.view.View;
import android.view.ViewDebug;
import android.view.ViewGroup;
@@ -91,13 +92,27 @@ public class ClickShadowView extends View {
     * Aligns the shadow with {@param view}
     * @param viewParent immediate parent of {@param view}. It must be a sibling of this view.
     */
    public void alignWithIconView(BubbleTextView view, ViewGroup viewParent) {
    public void alignWithIconView(BubbleTextView view, ViewGroup viewParent, View clipAgainstView) {
        float leftShift = view.getLeft() + viewParent.getLeft() - getLeft();
        float topShift = view.getTop() + viewParent.getTop() - getTop();
        int iconWidth = view.getRight() - view.getLeft();
        int iconHeight = view.getBottom() - view.getTop();
        int iconHSpace = iconWidth - view.getCompoundPaddingRight() - view.getCompoundPaddingLeft();
        float drawableWidth = view.getIcon().getBounds().width();

        if (clipAgainstView != null) {
            // Set the bounds to clip against
            int[] coords = new int[] {0, 0};
            Utilities.getDescendantCoordRelativeToAncestor(clipAgainstView, (View) getParent(),
                    coords, false);
            int clipLeft = (int) Math.max(0, coords[0] - leftShift - mShadowPadding);
            int clipTop = (int) Math.max(0, coords[1] - topShift - mShadowPadding) ;
            setClipBounds(new Rect(clipLeft, clipTop, clipLeft + iconWidth, clipTop + iconHeight));
        } else {
            // Reset the clip bounds
            setClipBounds(null);
        }

        setTranslationX(leftShift
                + viewParent.getTranslationX()
                + view.getCompoundPaddingLeft() * view.getScaleX()
+9 −11
Original line number Diff line number Diff line
@@ -460,7 +460,7 @@ public class DeviceProfile {
        qsbContainer.setLayoutParams(lp);

        // Layout the hotseat
        View hotseat = launcher.findViewById(R.id.hotseat);
        Hotseat hotseat = (Hotseat) launcher.findViewById(R.id.hotseat);
        lp = (FrameLayout.LayoutParams) hotseat.getLayoutParams();
        // We want the edges of the hotseat to line up with the edges of the workspace, but the
        // icons in the hotseat are a different size, and so don't line up perfectly. To account for
@@ -475,27 +475,25 @@ public class DeviceProfile {
            lp.gravity = Gravity.RIGHT;
            lp.width = hotseatBarHeightPx + mInsets.left + mInsets.right;
            lp.height = LayoutParams.MATCH_PARENT;
            hotseat.findViewById(R.id.layout).setPadding(0, 2 * edgeMarginPx, 0, 2 * edgeMarginPx);
            hotseat.setPadding(mInsets.left, 0, mInsets.right, 0);
            hotseat.getLayout().setPadding(mInsets.left, mInsets.top, mInsets.right,
                    workspacePadding.bottom);
        } else if (isTablet) {
            // Pad the hotseat with the workspace padding calculated above
            lp.gravity = Gravity.BOTTOM;
            lp.width = LayoutParams.MATCH_PARENT;
            lp.height = hotseatBarHeightPx + mInsets.bottom;
            hotseat.findViewById(R.id.layout).setPadding(
                    hotseatAdjustment + workspacePadding.left, 0,
                    hotseatAdjustment + workspacePadding.right, 2 * edgeMarginPx);
            hotseat.setPadding(0, hotseatBarTopPaddingPx, 0, mInsets.bottom);
            hotseat.getLayout().setPadding(hotseatAdjustment + workspacePadding.left,
                    hotseatBarTopPaddingPx, hotseatAdjustment + workspacePadding.right,
                    mInsets.bottom);
        } else {
            // For phones, layout the hotseat without any bottom margin
            // to ensure that we have space for the folders
            lp.gravity = Gravity.BOTTOM;
            lp.width = LayoutParams.MATCH_PARENT;
            lp.height = hotseatBarHeightPx + mInsets.bottom;
            hotseat.findViewById(R.id.layout).setPadding(
                    hotseatAdjustment + workspacePadding.left, 0,
                    hotseatAdjustment + workspacePadding.right, 0);
            hotseat.setPadding(0, hotseatBarTopPaddingPx, 0, mInsets.bottom);
            hotseat.getLayout().setPadding(hotseatAdjustment + workspacePadding.left,
                    hotseatBarTopPaddingPx, hotseatAdjustment + workspacePadding.right,
                    mInsets.bottom);
        }
        hotseat.setLayoutParams(lp);

+2 −2
Original line number Diff line number Diff line
@@ -113,8 +113,8 @@ public final class Utilities {
                && "NMR1".compareTo(VERSION.CODENAME) <= 0;
    }

    // TODO: use Build.VERSION_CODES when available
    public static final boolean ATLEAST_MARSHMALLOW = Build.VERSION.SDK_INT >= 23;
    public static final boolean ATLEAST_MARSHMALLOW =
            Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;

    public static final boolean ATLEAST_LOLLIPOP_MR1 =
            Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1;
Loading