From c4dcecb8d8edbde7457b4e3c049b98252e558b4c Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Fri, 10 Jul 2020 16:57:15 +0530 Subject: [PATCH] Use Comparator.reverseOrder() and Map.computeIfAbsent() in SMSHelper. --- src/org/kde/kdeconnect/Helpers/SMSHelper.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/org/kde/kdeconnect/Helpers/SMSHelper.java b/src/org/kde/kdeconnect/Helpers/SMSHelper.java index 8d251526..a2adbe82 100644 --- a/src/org/kde/kdeconnect/Helpers/SMSHelper.java +++ b/src/org/kde/kdeconnect/Helpers/SMSHelper.java @@ -45,6 +45,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashSet; @@ -191,12 +192,11 @@ public class SMSHelper { // Suppose we were requested to return N values and suppose a user sends only one MMS per // week and N SMS per day. We have requested the same N for each, so if we just return everything // we would return some very old MMS messages which would be very confusing. - SortedMap> sortedMessages = new TreeMap<>((lhs, rhs) -> Long.compare(rhs, lhs)); + SortedMap> sortedMessages = new TreeMap<>(Comparator.reverseOrder()); for (Message message : allMessages) { - Collection existingMessages = sortedMessages.getOrDefault(message.date, new ArrayList<>()); - assert existingMessages != null; + Collection existingMessages = sortedMessages.computeIfAbsent(message.date, + key -> new ArrayList<>()); existingMessages.add(message); - sortedMessages.put(message.date, existingMessages); } List toReturn = new ArrayList<>(allMessages.size());