From c9f80215caf60bc7b6340549f83546dd33747839 Mon Sep 17 00:00:00 2001 From: Dom Eori <4j6dq2zi8@relay.firefox.com> Date: Thu, 7 Oct 2021 14:08:20 +0900 Subject: [PATCH] [ongeki] Limit maximum activityList entries --- .../ongeki/handler/impl/GetUserActivityHandler.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserActivityHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserActivityHandler.java index 0f181fbb..e4db1684 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserActivityHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserActivityHandler.java @@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -40,6 +41,15 @@ public class GetUserActivityHandler implements BaseHandler { List activityList = userActivityRepository.findByUser_Card_ExtIdAndKindOrderBySortNumberDesc(userId,kind); + // Game crash workaround. Ported from minime @ Felix, commit 7efa1d7fd8d6b31cfba5f1755bf7bf3b9bc7aeb0 + if (kind == 1) { + // PlayActivity: 15 + activityList = new ArrayList<>(activityList.subList(0, activityList.size() < 15 ? activityList.size() : 15)); + } else if (kind == 2) { + // Music: 10 + activityList = new ArrayList<>(activityList.subList(0, activityList.size() < 10 ? activityList.size() : 10)); + } + Map resultMap = new LinkedHashMap<>(); resultMap.put("userId", userId); resultMap.put("length", activityList.size());