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

Commit 89a89d63 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Revert "Fix hotseat width to span a number of columns"

Revert submission 17983445-hotseat_span

Reason for revert: b/231283023
Reverted Changes:
Ice4e37929:Fix hotseat width to span a number of columns
I9ed508490:Fix hotseat width to span a number of columns

Change-Id: Iabf67c5efd8155131a0c8a88192ddd671a43747b
parent 3e8a04b3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -256,7 +256,7 @@ public class TaskIconCache implements DisplayInfoChangeListener {
    private BaseIconFactory getIconFactory() {
        if (mIconFactory == null) {
            mIconFactory = new BaseIconFactory(mContext,
                    DisplayController.INSTANCE.get(mContext).getInfo().getDensityDpi(),
                    DisplayController.INSTANCE.get(mContext).getInfo().densityDpi,
                    mContext.getResources().getDimensionPixelSize(R.dimen.taskbar_icon_size));
        }
        return mIconFactory;
+0 −11
Original line number Diff line number Diff line
@@ -306,17 +306,6 @@
        if not specified -->
        <attr name="allAppsBorderSpaceTwoPanelLandscapeVertical" format="float" />

        <!-- alignment of hotseat to the grid.
        Not applicable for 3 button mode when taskbar is enabled -->
        <!-- defaults to numColumns, if not specified -->
        <attr name="hotseatColumnSpan" format="integer" />
        <!-- defaults to numColumns, if not specified -->
        <attr name="hotseatColumnSpanLandscape" format="integer" />
        <!-- defaults to numColumns, if not specified -->
        <attr name="hotseatColumnSpanTwoPanelLandscape" format="integer" />
        <!-- defaults to numColumns, if not specified -->
        <attr name="hotseatColumnSpanTwoPanelPortrait" format="integer" />

        <!-- defaults to borderSpaceDps, if not specified -->
        <attr name="hotseatBorderSpace" format="float" />
        <!-- defaults to hotseatBorderSpace, if not specified -->
+0 −1
Original line number Diff line number Diff line
@@ -176,7 +176,6 @@
            launcher:allAppsBorderSpaceHorizontal="8"
            launcher:allAppsBorderSpaceVertical="16"
            launcher:allAppsBorderSpaceLandscape="16"
            launcher:hotseatColumnSpanLandscape="4"
            launcher:hotseatBorderSpace="58"
            launcher:hotseatBorderSpaceLandscape="50.4"
            launcher:canBeDefault="true" />
+20 −52
Original line number Diff line number Diff line
@@ -158,7 +158,6 @@ public class DeviceProfile {
    public final int numShownHotseatIcons;
    public int hotseatCellHeightPx;
    private final int hotseatExtraVerticalSize;
    private final boolean areNavButtonsInline;
    // In portrait: size = height, in landscape: size = width
    public int hotseatBarSizePx;
    public int hotseatBarTopPaddingPx;
@@ -359,7 +358,7 @@ public class DeviceProfile {

        // We shrink hotseat sizes regardless of orientation, if nav buttons are inline and QSB
        // might be inline in either orientations, to keep hotseat size consistent across rotation.
        areNavButtonsInline = isTaskbarPresent && !isGestureMode;
        boolean areNavButtonsInline = isTaskbarPresent && !isGestureMode;
        if (areNavButtonsInline && canQsbInline) {
            numShownHotseatIcons = inv.numShrunkenHotseatIcons;
        } else {
@@ -374,14 +373,15 @@ public class DeviceProfile {
                res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_top_padding);
        if (isQsbInline) {
            hotseatBarBottomPaddingPx = res.getDimensionPixelSize(R.dimen.inline_qsb_bottom_margin);
            qsbWidth = calculateQsbWidth();
        } else {
            hotseatBarBottomPaddingPx = (isTallDevice ? res.getDimensionPixelSize(
                    R.dimen.dynamic_grid_hotseat_bottom_tall_padding)
                    : res.getDimensionPixelSize(
                            R.dimen.dynamic_grid_hotseat_bottom_non_tall_padding))
                    + res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_bottom_padding);
            qsbWidth = 0;
        }

        springLoadedHotseatBarTopMarginPx = res.getDimensionPixelSize(
                R.dimen.spring_loaded_hotseat_top_margin);
        hotseatBarSidePaddingEndPx =
@@ -390,7 +390,9 @@ public class DeviceProfile {
        hotseatBarSidePaddingStartPx = isVerticalBarLayout() ? workspacePageIndicatorHeight : 0;
        hotseatExtraVerticalSize =
                res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_extra_vertical_size);
        updateHotseatIconSize(pxFromDp(inv.iconSize[INDEX_DEFAULT], mMetrics));
        hotseatBorderSpace = pxFromDp(inv.hotseatBorderSpaces[mTypeIndex], mMetrics);
        updateHotseatIconSize(
                pxFromDp(inv.iconSize[INDEX_DEFAULT], mMetrics));

        qsbBottomMarginOriginalPx = isScalableGrid
                ? res.getDimensionPixelSize(R.dimen.scalable_grid_qsb_bottom_margin)
@@ -481,10 +483,6 @@ public class DeviceProfile {
                cellLayoutPadding);
        updateWorkspacePadding();

        // Hotseat and QSB width depends on updated cellSize and workspace padding
        hotseatBorderSpace = calculateHotseatBorderSpace();
        qsbWidth = calculateQsbWidth();

        flingToDeleteThresholdVelocity = res.getDimensionPixelSize(
                R.dimen.drag_flingToDeleteMinVelocity);

@@ -495,26 +493,14 @@ public class DeviceProfile {
                new DotRenderer(allAppsIconSizePx, dotPath, DEFAULT_DOT_SIZE);
    }

    /**
     * QSB width is always calculated because when in 3 button nav the width doesn't follow the
     * width of the hotseat.
     */
    private int calculateQsbWidth() {
        if (isQsbInline) {
        int columns = isTwoPanels ? inv.numColumns * 2 : inv.numColumns;
            return getIconToIconWidthForColumns(columns)

        return cellWidthPx * columns
                + cellLayoutBorderSpacePx.x * (columns - 1)
                - (cellWidthPx - iconSizePx) // left and right cell space
                - iconSizePx * numShownHotseatIcons
                - hotseatBorderSpace * numShownHotseatIcons;
        } else {
            int columns = inv.hotseatColumnSpan[mTypeIndex];
            return getIconToIconWidthForColumns(columns);
        }
    }

    private int getIconToIconWidthForColumns(int columns) {
        return columns * getCellSize().x
                + (columns - 1) * cellLayoutBorderSpacePx.x
                - (getCellSize().x - iconSizePx);  // left and right cell space
    }

    private int getHorizontalMarginPx(InvariantDeviceProfile idp, Resources res) {
@@ -755,6 +741,13 @@ public class DeviceProfile {
        // All apps
        updateAllAppsIconSize(scale, res);

        // Hotseat
        hotseatBorderSpace = pxFromDp(inv.hotseatBorderSpaces[mTypeIndex], mMetrics, scale);
        if (isQsbInline) {
            qsbWidth = calculateQsbWidth();
        } else {
            qsbWidth = 0;
        }
        updateHotseatIconSize(iconSizePx);

        // Folder icon
@@ -762,23 +755,6 @@ public class DeviceProfile {
        folderIconOffsetYPx = (iconSizePx - folderIconSizePx) / 2;
    }

    /**
     * Hotseat width spans a certain number of columns on scalable grids.
     * This method calculates the space between the icons to achieve that width.
     */
    private int calculateHotseatBorderSpace() {
        if (!isScalableGrid) return 0;
        //TODO(http://b/228998082) remove this when 3 button spaces are fixed
        if (areNavButtonsInline) {
            return pxFromDp(inv.hotseatBorderSpaces[mTypeIndex], mMetrics);
        } else {
            int columns = inv.hotseatColumnSpan[mTypeIndex];
            float hotseatWidthPx = getIconToIconWidthForColumns(columns);
            float hotseatIconsTotalPx = iconSizePx * numShownHotseatIcons;
            return (int) (hotseatWidthPx - hotseatIconsTotalPx) / (numShownHotseatIcons - 1);
        }
    }


    /**
     * Updates the iconSize for allApps* variants.
@@ -1094,13 +1070,6 @@ public class DeviceProfile {
                mHotseatPadding.left -= diff;
                mHotseatPadding.right += diff;
            }
        } else if (isScalableGrid) {
            int sideSpacing = (availableWidthPx - qsbWidth) / 2;
            mHotseatPadding.set(sideSpacing,
                    hotseatBarTopPaddingPx,
                    sideSpacing,
                    hotseatBarSizePx - hotseatCellHeightPx - hotseatBarTopPaddingPx
                            + mInsets.bottom);
        } else {
            // 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
@@ -1337,7 +1306,6 @@ public class DeviceProfile {
        writer.println(prefix + pxToDpStr("allAppsLeftRightMargin", allAppsLeftRightMargin));

        writer.println(prefix + pxToDpStr("hotseatBarSizePx", hotseatBarSizePx));
        writer.println(prefix + "\tinv.hotseatColumnSpan: " + inv.hotseatColumnSpan[mTypeIndex]);
        writer.println(prefix + pxToDpStr("hotseatCellHeightPx", hotseatCellHeightPx));
        writer.println(prefix + pxToDpStr("hotseatBarTopPaddingPx", hotseatBarTopPaddingPx));
        writer.println(prefix + pxToDpStr("hotseatBarBottomPaddingPx", hotseatBarBottomPaddingPx));
@@ -1416,7 +1384,7 @@ public class DeviceProfile {
    private static Context getContext(Context c, Info info, int orientation, WindowBounds bounds) {
        Configuration config = new Configuration(c.getResources().getConfiguration());
        config.orientation = orientation;
        config.densityDpi = info.getDensityDpi();
        config.densityDpi = info.densityDpi;
        config.smallestScreenWidthDp = (int) info.smallestSizeDp(bounds);
        return c.createConfigurationContext(config);
    }
+10 −2
Original line number Diff line number Diff line
@@ -173,9 +173,17 @@ public class Hotseat extends CellLayout implements Insettable {
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);

        int qsbWidth = mActivity.getDeviceProfile().qsbWidth;
        int width;
        if (mActivity.getDeviceProfile().isQsbInline) {
            width = mActivity.getDeviceProfile().qsbWidth;
        } else {
            MarginLayoutParams qsbParams = (MarginLayoutParams) mQsb.getLayoutParams();
            width = getShortcutsAndWidgets().getMeasuredWidth()
                    - qsbParams.getMarginStart()
                    - qsbParams.getMarginEnd();
        }

        mQsb.measure(MeasureSpec.makeMeasureSpec(qsbWidth, MeasureSpec.EXACTLY),
        mQsb.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
                MeasureSpec.makeMeasureSpec(mQsbHeight, MeasureSpec.EXACTLY));
    }

Loading