From bc2e74fea95a29b3d95284ab8719b611df60d029 Mon Sep 17 00:00:00 2001 From: Tungstend Date: Wed, 19 Oct 2022 23:02:35 +0800 Subject: [PATCH] fix task part --- .../com/tungsten/fclcore/game/GameVersion.java | 1 + .../java/com/tungsten/fclcore/game/World.java | 1 + .../tungsten/fclcore/task/AsyncTaskExecutor.java | 3 +++ .../com/tungsten/fclcore/task/Schedulers.java | 6 ++++++ .../main/java/com/tungsten/fclcore/task/Task.java | 15 +++++++-------- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/FCLCore/src/main/java/com/tungsten/fclcore/game/GameVersion.java b/FCLCore/src/main/java/com/tungsten/fclcore/game/GameVersion.java index ec5b234b..05756dc9 100644 --- a/FCLCore/src/main/java/com/tungsten/fclcore/game/GameVersion.java +++ b/FCLCore/src/main/java/com/tungsten/fclcore/game/GameVersion.java @@ -24,6 +24,7 @@ import java.util.logging.Level; import java.util.stream.Collectors; import java.util.stream.StreamSupport; +// Todo : fix public final class GameVersion { private GameVersion() { } diff --git a/FCLCore/src/main/java/com/tungsten/fclcore/game/World.java b/FCLCore/src/main/java/com/tungsten/fclcore/game/World.java index bb3b553d..0f014da7 100644 --- a/FCLCore/src/main/java/com/tungsten/fclcore/game/World.java +++ b/FCLCore/src/main/java/com/tungsten/fclcore/game/World.java @@ -13,6 +13,7 @@ import java.util.stream.Stream; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; +// Todo : fix public class World { private final Path file; diff --git a/FCLCore/src/main/java/com/tungsten/fclcore/task/AsyncTaskExecutor.java b/FCLCore/src/main/java/com/tungsten/fclcore/task/AsyncTaskExecutor.java index 332dbbb7..517e78bf 100644 --- a/FCLCore/src/main/java/com/tungsten/fclcore/task/AsyncTaskExecutor.java +++ b/FCLCore/src/main/java/com/tungsten/fclcore/task/AsyncTaskExecutor.java @@ -1,8 +1,11 @@ package com.tungsten.fclcore.task; import static com.tungsten.fclcore.task.CompletableFutureTask.resolveException; +import static com.tungsten.fclcore.util.Lang.rethrow; +import static com.tungsten.fclcore.util.Lang.wrap; import com.google.gson.JsonParseException; +import com.tungsten.fclcore.util.Lang; import com.tungsten.fclcore.util.Logging; import java.util.Collection; diff --git a/FCLCore/src/main/java/com/tungsten/fclcore/task/Schedulers.java b/FCLCore/src/main/java/com/tungsten/fclcore/task/Schedulers.java index e47cf95b..fa0f976d 100644 --- a/FCLCore/src/main/java/com/tungsten/fclcore/task/Schedulers.java +++ b/FCLCore/src/main/java/com/tungsten/fclcore/task/Schedulers.java @@ -2,6 +2,8 @@ package com.tungsten.fclcore.task; import static com.tungsten.fclcore.util.Lang.threadPool; +import android.app.Activity; + import com.tungsten.fclcore.util.Logging; import java.util.concurrent.*; @@ -34,6 +36,10 @@ public final class Schedulers { return IO_EXECUTOR; } + public static Executor androidUIThread(Activity activity) { + return activity::runOnUiThread; + } + public static Executor defaultScheduler() { return ForkJoinPool.commonPool(); } diff --git a/FCLCore/src/main/java/com/tungsten/fclcore/task/Task.java b/FCLCore/src/main/java/com/tungsten/fclcore/task/Task.java index 2612cadb..8bf95c81 100644 --- a/FCLCore/src/main/java/com/tungsten/fclcore/task/Task.java +++ b/FCLCore/src/main/java/com/tungsten/fclcore/task/Task.java @@ -17,6 +17,7 @@ import java.util.concurrent.Executor; import java.util.function.Consumer; import java.util.function.Supplier; import java.util.logging.Level; +import java.util.stream.Collectors; /** * Disposable task. @@ -311,11 +312,11 @@ public abstract class Task { } protected void updateProgressImmediately(double progress) { - // Todo : update progress + } protected final void updateMessage(String newMessage) { - // Todo : update msg + } public final T run() throws Exception { @@ -895,11 +896,7 @@ public abstract class Task { @Override public void execute() { - List result = new ArrayList<>(); - for (Task task : tasks) { - result.add(task.getResult()); - } - setResult(result); + setResult(tasks.stream().map(Task::getResult).collect(Collectors.toList())); } @Override @@ -968,7 +965,7 @@ public abstract class Task { } private static String getCaller() { - return ReflectionHelper.getCaller("com.tungsten.fclcore.task").toString(); + return ReflectionHelper.getCaller(packageName -> !"org.jackhuang.hmcl.task".equals(packageName)).toString(); } private static final class SimpleTask extends Task { @@ -1005,6 +1002,8 @@ public abstract class Task { /** * A task that combines two tasks and make sure [pred] runs before succ. + * + * @author huangyuhui */ private final class UniCompose extends Task {