aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/moe/yuuta/ext/HandlerThreadExecutor.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/moe/yuuta/ext/HandlerThreadExecutor.java')
-rw-r--r--app/src/main/java/moe/yuuta/ext/HandlerThreadExecutor.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/src/main/java/moe/yuuta/ext/HandlerThreadExecutor.java b/app/src/main/java/moe/yuuta/ext/HandlerThreadExecutor.java
new file mode 100644
index 0000000..d6c51bc
--- /dev/null
+++ b/app/src/main/java/moe/yuuta/ext/HandlerThreadExecutor.java
@@ -0,0 +1,26 @@
+package moe.yuuta.ext;
+
+import android.os.Handler;
+import android.os.Looper;
+import android.util.Log;
+import androidx.annotation.Nullable;
+
+import java.util.concurrent.Executor;
+
+/**
+ * https://stackoverflow.com/a/21256419/6792243
+ */
+public class HandlerThreadExecutor implements Executor {
+ private final Handler mHandler;
+ public HandlerThreadExecutor(@Nullable Handler optionalHandler) {
+ mHandler = optionalHandler != null ? optionalHandler : new Handler(Looper.getMainLooper());
+ }
+
+ @Override
+ public void execute(Runnable command) {
+ Log.d("Debug", "execute: " + command.toString());
+ mHandler.post(command);
+ Log.d("Debug", "done executing");
+ //
+ }
+} \ No newline at end of file