Merge "Create a singleton HashMap instead of using Collections.singleton()" into ub-launcher3-master

This commit is contained in:
TreeHugger Robot
2017-02-09 21:59:46 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 2 deletions

View File

@@ -60,6 +60,7 @@ import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
import java.util.concurrent.Executor;
@@ -652,4 +653,14 @@ public final class Utilities {
throw new RuntimeException(e);
}
}
/**
* Returns a HashSet with a single element. We use this instead of Collections.singleton()
* because HashSet ensures all operations, such as remove, are supported.
*/
public static <T> HashSet<T> singletonHashSet(T elem) {
HashSet<T> hashSet = new HashSet<>(1);
hashSet.add(elem);
return hashSet;
}
}

View File

@@ -22,6 +22,7 @@ import android.util.Log;
import com.android.launcher3.ItemInfo;
import com.android.launcher3.Launcher;
import com.android.launcher3.Utilities;
import com.android.launcher3.badge.BadgeInfo;
import com.android.launcher3.notification.NotificationInfo;
import com.android.launcher3.notification.NotificationListener;
@@ -68,7 +69,8 @@ public class PopupDataProvider implements NotificationListener.NotificationsChan
} else {
notificationWasAdded = badgeInfo.addNotificationKeyIfNotExists(notificationKey);
}
updateLauncherIconBadges(Collections.singleton(postedPackageUserKey), notificationWasAdded);
updateLauncherIconBadges(Utilities.singletonHashSet(postedPackageUserKey),
notificationWasAdded);
}
@Override
@@ -78,7 +80,7 @@ public class PopupDataProvider implements NotificationListener.NotificationsChan
if (oldBadgeInfo.getNotificationCount() == 0) {
mPackageUserToBadgeInfos.remove(removedPackageUserKey);
}
updateLauncherIconBadges(Collections.singleton(removedPackageUserKey));
updateLauncherIconBadges(Utilities.singletonHashSet(removedPackageUserKey));
PopupContainerWithArrow openContainer = PopupContainerWithArrow.getOpen(mLauncher);
if (openContainer != null) {