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

Commit abb827b3 authored by Samuel Fufa's avatar Samuel Fufa Committed by Android (Google) Code Review
Browse files

Merge "[Foldable] Apply max width to AllApps in unfolded state." into sc-v2-dev

parents a4c1d0cf de013293
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -282,8 +282,7 @@ public class AppsDividerView extends View implements StateListener<LauncherState

    @Override
    public void setInsets(Rect insets, DeviceProfile grid) {
        int leftRightPadding = grid.desiredWorkspaceLeftRightMarginPx
                + grid.cellLayoutPaddingLeftRightPx;
        int leftRightPadding = grid.allAppsLeftRightPadding;
        setPadding(leftRightPadding, getPaddingTop(), leftRightPadding, getPaddingBottom());
    }

+1 −2
Original line number Diff line number Diff line
@@ -249,8 +249,7 @@ public class PredictionRowView extends LinearLayout implements

    @Override
    public void setInsets(Rect insets, DeviceProfile grid) {
        int leftRightPadding = grid.desiredWorkspaceLeftRightMarginPx
                + grid.cellLayoutPaddingLeftRightPx;
        int leftRightPadding = grid.allAppsLeftRightPadding;
        setPadding(leftRightPadding, getPaddingTop(), leftRightPadding, getPaddingBottom());
    }

+2 −0
Original line number Diff line number Diff line
@@ -193,6 +193,8 @@

        <attr name="borderSpacingDps" format="float" />

        <attr name="allAppsCellSpacingDps" format="float" />

        <attr name="iconImageSize" format="float" />
        <!-- landscapeIconSize defaults to iconImageSize, if not specified -->
        <attr name="landscapeIconSize" format="float" />
+15 −0
Original line number Diff line number Diff line
@@ -168,11 +168,13 @@ public class DeviceProfile {
    public int qsbBottomMarginPx;

    // All apps
    public int allAppsCellSpacingPx;
    public int allAppsOpenVerticalTranslate;
    public int allAppsCellHeightPx;
    public int allAppsCellWidthPx;
    public int allAppsIconSizePx;
    public int allAppsIconDrawablePaddingPx;
    public int allAppsLeftRightPadding;
    public final int numShownAllAppsColumns;
    public float allAppsIconTextSizePx;

@@ -283,6 +285,7 @@ public class DeviceProfile {
        folderContentPaddingTop = res.getDimensionPixelSize(R.dimen.folder_content_padding_top);

        setCellLayoutBorderSpacing(pxFromDp(inv.borderSpacing, mMetrics, 1f));
        allAppsCellSpacingPx = pxFromDp(inv.allAppsCellSpacing, mMetrics, 1f);
        cellLayoutBorderSpacingOriginalPx = cellLayoutBorderSpacingPx;
        folderCellLayoutBorderSpacingPx = cellLayoutBorderSpacingPx;

@@ -547,6 +550,17 @@ public class DeviceProfile {
                + textHeight + (topBottomPadding * 2);
    }

    private void updateAllAppsWidth() {
        if (isTwoPanels) {
            int usedWidth = (allAppsCellWidthPx * numShownAllAppsColumns)
                    + (allAppsCellSpacingPx * (numShownAllAppsColumns + 1));
            allAppsLeftRightPadding = Math.max(1, (availableWidthPx - usedWidth) / 2);
        } else {
            allAppsLeftRightPadding =
                    desiredWorkspaceLeftRightMarginPx + cellLayoutPaddingLeftRightPx;
        }
    }

    /**
     * Returns the amount of extra (or unused) vertical space.
     */
@@ -666,6 +680,7 @@ public class DeviceProfile {
            allAppsCellHeightPx = getCellSize().y;
        }
        allAppsCellWidthPx = allAppsIconSizePx + allAppsIconDrawablePaddingPx;
        updateAllAppsWidth();

        if (isVerticalLayout) {
            hideWorkspaceLabelsIfNotEnoughSpace();
+19 −8
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@ public class InvariantDeviceProfile {
    public float iconTextSize;
    public float allAppsIconSize;
    public float allAppsIconTextSize;
    public float allAppsCellSpacing;
    public boolean isSplitDisplay;

    public float minCellHeight;
@@ -153,7 +154,8 @@ public class InvariantDeviceProfile {
     */
    public List<DeviceProfile> supportedProfiles = Collections.EMPTY_LIST;

    @Nullable public DevicePaddings devicePaddings;
    @Nullable
    public DevicePaddings devicePaddings;

    public Point defaultWallpaperSize;
    public Rect defaultWidgetPadding;
@@ -161,7 +163,8 @@ public class InvariantDeviceProfile {
    private final ArrayList<OnIDPChangeListener> mChangeListeners = new ArrayList<>();

    @VisibleForTesting
    public InvariantDeviceProfile() {}
    public InvariantDeviceProfile() {
    }

    @TargetApi(23)
    private InvariantDeviceProfile(Context context) {
@@ -219,6 +222,7 @@ public class InvariantDeviceProfile {
        result.minCellHeight = defaultDisplayOption.minCellHeight;
        result.minCellWidth = defaultDisplayOption.minCellWidth;
        result.borderSpacing = defaultDisplayOption.borderSpacing;
        result.allAppsCellSpacing = defaultDisplayOption.allAppsCellSpacing;

        initGrid(context, myInfo, result, false);
    }
@@ -283,6 +287,7 @@ public class InvariantDeviceProfile {
        twoPanelLandscapeMinCellHeightDps = displayOption.twoPanelLandscapeMinCellHeightDps;
        twoPanelLandscapeMinCellWidthDps = displayOption.twoPanelLandscapeMinCellWidthDps;
        borderSpacing = displayOption.borderSpacing;
        allAppsCellSpacing = displayOption.allAppsCellSpacing;

        numShownHotseatIcons = closestProfile.numHotseatIcons;
        numDatabaseHotseatIcons = isSplitDisplay
@@ -607,7 +612,8 @@ public class InvariantDeviceProfile {
        //   (10/16)x + y = 1.2
        // We solve for x and y and end up with a final formula:
        final float x =
                (WALLPAPER_WIDTH_TO_SCREEN_RATIO_LANDSCAPE - WALLPAPER_WIDTH_TO_SCREEN_RATIO_PORTRAIT) /
                (WALLPAPER_WIDTH_TO_SCREEN_RATIO_LANDSCAPE
                        - WALLPAPER_WIDTH_TO_SCREEN_RATIO_PORTRAIT) /
                        (ASPECT_RATIO_LANDSCAPE - ASPECT_RATIO_PORTRAIT);
        final float y = WALLPAPER_WIDTH_TO_SCREEN_RATIO_PORTRAIT - x * ASPECT_RATIO_PORTRAIT;
        return x * aspectRatio + y;
@@ -719,6 +725,7 @@ public class InvariantDeviceProfile {
        private float twoPanelPortraitMinCellWidthDps;
        private float twoPanelLandscapeMinCellHeightDps;
        private float twoPanelLandscapeMinCellWidthDps;
        private float allAppsCellSpacing;
        private float borderSpacing;

        private final float[] iconSizes = new float[COUNT_TOTAL];
@@ -750,6 +757,8 @@ public class InvariantDeviceProfile {
                    R.styleable.ProfileDisplayOption_twoPanelLandscapeMinCellWidthDps,
                    twoPanelPortraitMinCellWidthDps);
            borderSpacing = a.getFloat(R.styleable.ProfileDisplayOption_borderSpacingDps, 0);
            allAppsCellSpacing = a.getFloat(R.styleable.ProfileDisplayOption_allAppsCellSpacingDps,
                    borderSpacing);

            iconSizes[INDEX_DEFAULT] =
                    a.getFloat(R.styleable.ProfileDisplayOption_iconImageSize, 0);
@@ -810,6 +819,7 @@ public class InvariantDeviceProfile {
            twoPanelLandscapeMinCellHeightDps *= w;
            twoPanelLandscapeMinCellWidthDps *= w;
            borderSpacing *= w;
            allAppsCellSpacing *= w;
            return this;
        }

@@ -825,6 +835,7 @@ public class InvariantDeviceProfile {
            twoPanelLandscapeMinCellHeightDps += p.twoPanelLandscapeMinCellHeightDps;
            twoPanelLandscapeMinCellWidthDps += p.twoPanelLandscapeMinCellWidthDps;
            borderSpacing += p.borderSpacing;
            allAppsCellSpacing += p.allAppsCellSpacing;
            return this;
        }
    }
Loading