From 5e6823addd0d8fa7467f9504101b878409a4f200 Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Mon, 3 Nov 2025 11:27:18 +0800 Subject: [PATCH] Optimize code --- .../fongmi/android/tv/api/config/LiveConfig.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java index c3faacaf8..a0b494c3c 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.Future; import java.util.function.Function; import java.util.stream.Collectors; @@ -214,16 +215,11 @@ public class LiveConfig { } public void setKeep(List items) { - List key = new ArrayList<>(); - for (Keep keep : Keep.getLive()) key.add(keep.getKey()); - for (Group group : items) { - if (group.isKeep()) continue; - for (Channel channel : group.getChannel()) { - if (key.contains(channel.getName())) { - items.get(0).add(channel); - } - } - } + Set key = Keep.getLive().stream().map(Keep::getKey).collect(Collectors.toSet()); + items.stream().filter(group -> !group.isKeep()) + .flatMap(group -> group.getChannel().stream()) + .filter(channel -> key.contains(channel.getName())) + .forEach(channel -> items.get(0).add(channel)); } public int[] find(List items) {