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

Commit 6c91ef91 authored by fbaron's avatar fbaron
Browse files

Add OldGrid field for GridOption so we can properly filter out the old grids when the flag is on

Bug: 364711064
Flag: com.android.launcher3.one_grid_specs
Test: NexusLauncherImageTests, DeviceProfileDumpTest
Change-Id: I8e3ff70d2f3008d1de7c8419290ff44c18c72e70
parent 40cb4bf3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -312,9 +312,10 @@
        <attr name="rowCountSpecsId" format="reference" />
        <!-- defaults to allAppsCellSpecsId, if not specified -->
        <attr name="allAppsCellSpecsTwoPanelId" format="reference" />

        <!-- defaults to false, if not specified -->
        <attr name="isFixedLandscape" format="boolean" />
        <!-- defaults to false, if not specified -->
        <attr name="isOldGrid" format="boolean" />

        <!-- By default all categories are enabled -->
        <attr name="deviceCategory" format="integer">
+19 −7
Original line number Diff line number Diff line
@@ -1031,6 +1031,7 @@ public class InvariantDeviceProfile implements SafeCloseable {
        private final int mAllAppsCellSpecsTwoPanelId;
        private final int mRowCountSpecsId;
        private final boolean mIsFixedLandscape;
        private final boolean mIsOldGrid;

        public GridOption(Context context, AttributeSet attrs, Info displayInfo) {
            TypedArray a = context.obtainStyledAttributes(
@@ -1175,6 +1176,7 @@ public class InvariantDeviceProfile implements SafeCloseable {
            }

            mIsFixedLandscape = a.getBoolean(R.styleable.GridDisplayOption_isFixedLandscape, false);
            mIsOldGrid = a.getBoolean(R.styleable.GridDisplayOption_isOldGrid, false);

            int inlineForRotation = a.getInt(R.styleable.GridDisplayOption_inlineQsb,
                    DONT_INLINE_QSB);
@@ -1206,20 +1208,30 @@ public class InvariantDeviceProfile implements SafeCloseable {
            }
        }

        public boolean isNewGridOption() {
            return mRowCountSpecsId != INVALID_RESOURCE_HANDLE;
        }

        /**
         * Returns true if the grid option should be used given the flags that are toggled on/off.
         */
        public boolean filterByFlag(int deviceType, boolean isFixedLandscape) {
            if (deviceType == TYPE_TABLET) {
                return Flags.oneGridRotationHandling() == mIsDualGrid;
            }

            if (isFixedLandscape) {
                return Flags.oneGridSpecs() && mIsFixedLandscape;
            // Here we return true if fixed landscape mode should be on.
            if (mIsFixedLandscape || isFixedLandscape) {
                return mIsFixedLandscape && isFixedLandscape && Flags.oneGridSpecs();
            }

            // Here we return true if we want to show the new grids.
            if (mRowCountSpecsId != INVALID_RESOURCE_HANDLE) {
                return Flags.oneGridSpecs();
            }

            // Here we return true if we want to show the old grids.
            if (mIsOldGrid) {
                return !Flags.oneGridSpecs();
            }

            return ((Flags.oneGridSpecs() == isNewGridOption()) && !mIsFixedLandscape);
            return true;
        }
    }