diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index 2d703814174..547e1cf496e 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -217,7 +217,6 @@ public class Forge implements ApplicationListener { enableUIMask = "Full"; else if (getForgePreferences().getPref(FPref.UI_ENABLE_BORDER_MASKING).equals("false")) enableUIMask = "Off"; - enablePreloadExtendedArt = getForgePreferences().getPrefBoolean(FPref.UI_ENABLE_PRELOAD_EXTENDED_ART); locale = getForgePreferences().getPref(FPref.UI_LANGUAGE); autoCache = getForgePreferences().getPrefBoolean(FPref.UI_AUTO_CACHE_SIZE); disposeTextures = getForgePreferences().getPrefBoolean(FPref.UI_ENABLE_DISPOSE_TEXTURES); diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java index 0ca0008e83c..bf54f60585a 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java @@ -40,8 +40,10 @@ import org.apache.commons.lang3.ArrayUtils; import java.io.File; import java.util.*; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentLinkedQueue; import java.util.function.Predicate; import java.util.function.Supplier; +import java.util.stream.Collectors; /** * Booster Draft Format. @@ -318,6 +320,7 @@ public class BoosterDraft implements IBoosterDraft { private static List loadCustomDrafts() { if (customs.isEmpty()) { String[] dList; + ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue<>(); // get list of custom draft files final File dFolder = new File(ForgeConstants.DRAFT_DIR); @@ -337,7 +340,7 @@ public class BoosterDraft implements IBoosterDraft { if (element.endsWith(FILE_EXT)) { futures.add(CompletableFuture.supplyAsync(()-> { final List dfData = FileUtil.readFile(ForgeConstants.DRAFT_DIR + element); - customs.add(CustomLimited.parse(dfData, FModel.getDecks().getCubes())); + queue.add(CustomLimited.parse(dfData, FModel.getDecks().getCubes())); return null; }).exceptionally(ex -> { ex.printStackTrace(); @@ -349,6 +352,8 @@ public class BoosterDraft implements IBoosterDraft { CompletableFuture.allOf(futuresArray).join(); futures.clear(); } + // stream().toList() causes crash on Android, use Collectors.toList() + customs.addAll(queue.stream().collect(Collectors.toList())); } return customs; }