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

Commit 6b666ef4 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

Fix folder and qsb inconsistency issue in ThemePicker

Bug: 126417894

Context: the order of OMS call affects when the OVERLAY_CHANGED broadcast
is received by launcher. When icon shape is changed in the middle of
oms call, sometimes, the broadcast is not received by launcher.

Change-Id: I75256cf982d9b37cec62a39539ccbd4932228424
parent ab639850
Loading
Loading
Loading
Loading
+13 −16
Original line number Diff line number Diff line
@@ -139,12 +139,23 @@ public class DefaultThemeProvider extends ResourcesApkProvider implements ThemeB
                        mStubApkResources.getIdentifier(TITLE_PREFIX + themeName,
                                "string", mStubPackageName)));

                String fontOverlayPackage = getOverlayPackage(FONT_PREFIX, themeName);
                String shapeOverlayPackage = getOverlayPackage(SHAPE_PREFIX, themeName);
                if (!TextUtils.isEmpty(shapeOverlayPackage)) {
                    builder.addOverlayPackage(getOverlayCategory(shapeOverlayPackage),
                            shapeOverlayPackage)
                            .setShapePath(loadString(CONFIG_ICON_MASK, shapeOverlayPackage))
                            .setShapePreview(getDrawableResourceAsset(
                                    PREVIEW_SHAPE_PREFIX, themeName));
                } else {
                    builder.setShapePath(mContext.getResources().getString(
                            Resources.getSystem().getIdentifier(CONFIG_ICON_MASK, "string",
                                    ANDROID_PACKAGE)));
                }

                String fontOverlayPackage = getOverlayPackage(FONT_PREFIX, themeName);
                addFontOverlay(builder, fontOverlayPackage);

                String colorOverlayPackage = getOverlayPackage(COLOR_PREFIX, themeName);

                if (!TextUtils.isEmpty(colorOverlayPackage)) {
                    builder.addOverlayPackage(getOverlayCategory(colorOverlayPackage),
                                colorOverlayPackage)
@@ -156,20 +167,6 @@ public class DefaultThemeProvider extends ResourcesApkProvider implements ThemeB
                                    PREVIEW_COLOR_PREFIX, themeName));
                }

                String shapeOverlayPackage = getOverlayPackage(SHAPE_PREFIX, themeName);

                if (!TextUtils.isEmpty(shapeOverlayPackage)) {
                    builder.addOverlayPackage(getOverlayCategory(shapeOverlayPackage),
                                shapeOverlayPackage)
                            .setShapePath(loadString(CONFIG_ICON_MASK, shapeOverlayPackage))
                            .setShapePreview(getDrawableResourceAsset(
                                    PREVIEW_SHAPE_PREFIX, themeName));
                } else {
                    builder.setShapePath(mContext.getResources().getString(
                            Resources.getSystem().getIdentifier(CONFIG_ICON_MASK, "string",
                                    ANDROID_PACKAGE)));
                }

                String iconAndroidOverlayPackage = getOverlayPackage(ICON_ANDROID_PREFIX,
                        themeName);