diff options
Diffstat (limited to 'java/org/gnu/emacs/EmacsDialog.java')
| -rw-r--r-- | java/org/gnu/emacs/EmacsDialog.java | 25 |
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); } |
