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

Commit ea1911dd authored by chihhangchuang's avatar chihhangchuang Committed by Automerger Merge Worker
Browse files

Fix create duplicated custom bug am: ea7427c6

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/ThemePicker/+/11683416

Change-Id: I6588def46dc274928ead4de473bec94f724768b4
parents d831789d ea7427c6
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;

/**
 * Represents a Theme component available in the system as a "persona" bundle.
@@ -87,7 +88,7 @@ public class ThemeBundle implements CustomizationOption<ThemeBundle> {
        mTitle = title;
        mIsDefault = isDefault;
        mPreviewInfo = previewInfo;
        mPackagesByCategory = Collections.unmodifiableMap(overlayPackages);
        mPackagesByCategory = Collections.unmodifiableMap(removeNullValues(overlayPackages));
    }

    @Override
@@ -214,6 +215,13 @@ public class ThemeBundle implements CustomizationOption<ThemeBundle> {
        }
    }

    private Map<String, String> removeNullValues(Map<String, String> map) {
        return map.entrySet()
                .stream()
                .filter(entry -> entry.getValue() != null)
                .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    }

    protected CharSequence getContentDescription(Context context) {
        if (mContentDescription == null) {
            CharSequence defaultName = context.getString(R.string.default_theme_title);