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
This commit is contained in:
fbaron
2024-11-12 22:22:43 -08:00
parent 40cb4bf335
commit 6c91ef9191
2 changed files with 21 additions and 8 deletions

View File

@@ -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();
}
return ((Flags.oneGridSpecs() == isNewGridOption()) && !mIsFixedLandscape);
// 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 true;
}
}