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

Commit d29f0644 authored by Jordan Silva's avatar Jordan Silva
Browse files

Update the device twoPanelId specs to use the default spec when it is not defined

In some situations, DeviceProfile is recreated with an invalid InvariantDeviceProfile leading to a crash, because it tries to use an non existent responsive grid spec. To prevent the crash, we are update the responsive grid two panel specs to use the default spec when two panel spec is not defined.

Bug: 317993862
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Test: NexusLauncherImageTests
Test: DeviceProfileDumpTest
Test: DeviceProfileAlternativeDisplaysDumpTest
Change-Id: I8b8095745787ad47b006892452a54942f981713e
parent 818b3ba0
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -223,26 +223,32 @@
        <!-- File that contains the specs for the workspace.
        Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
        <attr name="workspaceSpecsId" format="reference" />
        <!-- defaults to workspaceSpecsId, if not specified -->
        <attr name="workspaceSpecsTwoPanelId" format="reference" />
        <!-- File that contains the specs for all apps.
        Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
        <attr name="allAppsSpecsId" format="reference" />
        <!-- defaults to allAppsSpecsId, if not specified -->
        <attr name="allAppsSpecsTwoPanelId" format="reference" />
        <!-- File that contains the specs for the workspace.
        Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
        <attr name="folderSpecsId" format="reference" />
        <!-- defaults to folderSpecsId, if not specified -->
        <attr name="folderSpecsTwoPanelId" format="reference" />
        <!-- File that contains the specs for hotseat bar.
        Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
        <attr name="hotseatSpecsId" format="reference" />
        <!-- defaults to hotseatSpecsId, if not specified -->
        <attr name="hotseatSpecsTwoPanelId" format="reference" />
        <!-- File that contains the specs for workspace icon and text size.
        Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
        <attr name="workspaceCellSpecsId" format="reference" />
        <!-- defaults to workspaceCellSpecsId, if not specified -->
        <attr name="workspaceCellSpecsTwoPanelId" format="reference" />
        <!-- File that contains the specs for all apps icon and text size.
        Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
        <attr name="allAppsCellSpecsId" format="reference" />
        <!-- defaults to allAppsCellSpecsId, if not specified -->
        <attr name="allAppsCellSpecsTwoPanelId" format="reference" />

        <!-- By default all categories are enabled -->
+6 −6
Original line number Diff line number Diff line
@@ -948,34 +948,34 @@ public class InvariantDeviceProfile {
                        R.styleable.GridDisplayOption_workspaceSpecsId, INVALID_RESOURCE_HANDLE);
                mWorkspaceSpecsTwoPanelId = a.getResourceId(
                        R.styleable.GridDisplayOption_workspaceSpecsTwoPanelId,
                        INVALID_RESOURCE_HANDLE);
                        mWorkspaceSpecsId);
                mAllAppsSpecsId = a.getResourceId(
                        R.styleable.GridDisplayOption_allAppsSpecsId, INVALID_RESOURCE_HANDLE);
                mAllAppsSpecsTwoPanelId = a.getResourceId(
                        R.styleable.GridDisplayOption_allAppsSpecsTwoPanelId,
                        INVALID_RESOURCE_HANDLE);
                        mAllAppsSpecsId);
                mFolderSpecsId = a.getResourceId(
                        R.styleable.GridDisplayOption_folderSpecsId, INVALID_RESOURCE_HANDLE);
                mFolderSpecsTwoPanelId = a.getResourceId(
                        R.styleable.GridDisplayOption_folderSpecsTwoPanelId,
                        INVALID_RESOURCE_HANDLE);
                        mFolderSpecsId);
                mHotseatSpecsId = a.getResourceId(
                        R.styleable.GridDisplayOption_hotseatSpecsId, INVALID_RESOURCE_HANDLE);
                mHotseatSpecsTwoPanelId = a.getResourceId(
                        R.styleable.GridDisplayOption_hotseatSpecsTwoPanelId,
                        INVALID_RESOURCE_HANDLE);
                        mHotseatSpecsId);
                mWorkspaceCellSpecsId = a.getResourceId(
                        R.styleable.GridDisplayOption_workspaceCellSpecsId,
                        INVALID_RESOURCE_HANDLE);
                mWorkspaceCellSpecsTwoPanelId = a.getResourceId(
                        R.styleable.GridDisplayOption_workspaceCellSpecsTwoPanelId,
                        INVALID_RESOURCE_HANDLE);
                        mWorkspaceCellSpecsId);
                mAllAppsCellSpecsId = a.getResourceId(
                        R.styleable.GridDisplayOption_allAppsCellSpecsId,
                        INVALID_RESOURCE_HANDLE);
                mAllAppsCellSpecsTwoPanelId = a.getResourceId(
                        R.styleable.GridDisplayOption_allAppsCellSpecsTwoPanelId,
                        INVALID_RESOURCE_HANDLE);
                        mAllAppsCellSpecsId);
                mNumAllAppsRowsForCellHeightCalculation = a.getInt(
                        R.styleable.GridDisplayOption_numAllAppsRowsForCellHeightCalculation,
                        numRows);