diff options
Diffstat (limited to 'ui/src/main/java/com/wireguard/android/util/AsyncWorker.kt')
-rw-r--r-- | ui/src/main/java/com/wireguard/android/util/AsyncWorker.kt | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/ui/src/main/java/com/wireguard/android/util/AsyncWorker.kt b/ui/src/main/java/com/wireguard/android/util/AsyncWorker.kt deleted file mode 100644 index a6e5d4be..00000000 --- a/ui/src/main/java/com/wireguard/android/util/AsyncWorker.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright © 2017-2020 WireGuard LLC. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -package com.wireguard.android.util - -import android.os.Handler -import java9.util.concurrent.CompletableFuture -import java9.util.concurrent.CompletionStage -import java.util.concurrent.Executor - -/** - * Helper class for running asynchronous tasks and ensuring they are completed on the main thread. - */ - -class AsyncWorker(private val executor: Executor, private val handler: Handler) { - - fun runAsync(run: () -> Unit): CompletionStage<Void> { - val future = CompletableFuture<Void>() - executor.execute { - try { - run() - handler.post { future.complete(null) } - } catch (t: Throwable) { - handler.post { future.completeExceptionally(t) } - } - } - return future - } - - fun <T> supplyAsync(get: () -> T?): CompletionStage<T> { - val future = CompletableFuture<T>() - executor.execute { - try { - val result = get() - handler.post { future.complete(result) } - } catch (t: Throwable) { - handler.post { future.completeExceptionally(t) } - } - } - return future - } -} |