summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/org/gnu/emacs/EmacsDialog.java')
-rw-r--r--java/org/gnu/emacs/EmacsDialog.java25
1 files changed, 10 insertions, 15 deletions
diff --git a/java/org/gnu/emacs/EmacsDialog.java b/java/org/gnu/emacs/EmacsDialog.java
index bad1ddde227..7552b16b370 100644
--- a/java/org/gnu/emacs/EmacsDialog.java
+++ b/java/org/gnu/emacs/EmacsDialog.java
@@ -22,6 +22,9 @@ package org.gnu.emacs;
import java.util.List;
import java.util.ArrayList;
+import java.util.concurrent.Callable;
+import java.util.concurrent.FutureTask;
+
import android.app.AlertDialog;
import android.content.Context;
@@ -388,26 +391,18 @@ public final class EmacsDialog implements DialogInterface.OnDismissListener
public boolean
display ()
{
- Runnable runnable;
- final EmacsHolder<Boolean> rc;
+ FutureTask<Boolean> task;
- rc = new EmacsHolder<Boolean> ();
- rc.thing = false;
- runnable = new Runnable () {
+ task = new FutureTask<Boolean> (new Callable<Boolean> () {
@Override
- public void
- run ()
+ public Boolean
+ call ()
{
- synchronized (this)
- {
- rc.thing = display1 ();
- notify ();
- }
+ return display1 ();
}
- };
+ });
- EmacsService.syncRunnable (runnable);
- return rc.thing;
+ return EmacsService.<Boolean>syncRunnable (task);
}