diff options
4 files changed, 19 insertions, 2 deletions
diff --git a/tools/preload2/src/com/android/preload/actions/AbstractThreadedAction.java b/tools/preload2/src/com/android/preload/actions/AbstractThreadedAction.java index fbf83d2e2339..5787d8507230 100644 --- a/tools/preload2/src/com/android/preload/actions/AbstractThreadedAction.java +++ b/tools/preload2/src/com/android/preload/actions/AbstractThreadedAction.java @@ -16,6 +16,7 @@ package com.android.preload.actions; +import com.android.preload.Main; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; @@ -28,7 +29,11 @@ public abstract class AbstractThreadedAction extends AbstractAction implements R @Override public void actionPerformed(ActionEvent e) { - new Thread(this).start(); + if (Main.getUI().isSingleThreaded()) { + run(); + } else { + new Thread(this).start(); + } } } diff --git a/tools/preload2/src/com/android/preload/actions/RunMonkeyAction.java b/tools/preload2/src/com/android/preload/actions/RunMonkeyAction.java index 385e8577b1c8..29464fc7abdf 100644 --- a/tools/preload2/src/com/android/preload/actions/RunMonkeyAction.java +++ b/tools/preload2/src/com/android/preload/actions/RunMonkeyAction.java @@ -58,7 +58,12 @@ public class RunMonkeyAction extends AbstractAction implements DeviceSpecific { if (packages.isEmpty()) { packages = DEFAULT_MONKEY_PACKAGES; } - new Thread(new RunMonkeyRunnable(packages)).start(); + Runnable r = new RunMonkeyRunnable(packages); + if (Main.getUI().isSingleThreaded()) { + r.run(); + } else { + new Thread(r).start(); + } } private class RunMonkeyRunnable implements Runnable { diff --git a/tools/preload2/src/com/android/preload/ui/IUI.java b/tools/preload2/src/com/android/preload/ui/IUI.java index 3c151d90ab0a..9371463e9a79 100644 --- a/tools/preload2/src/com/android/preload/ui/IUI.java +++ b/tools/preload2/src/com/android/preload/ui/IUI.java @@ -18,6 +18,8 @@ public interface IUI { void ready(); + boolean isSingleThreaded(); + Client getSelectedClient(); int getSelectedDataTableRow(); diff --git a/tools/preload2/src/com/android/preload/ui/SwingUI.java b/tools/preload2/src/com/android/preload/ui/SwingUI.java index 1245f2c23d7e..cab3744ad74c 100644 --- a/tools/preload2/src/com/android/preload/ui/SwingUI.java +++ b/tools/preload2/src/com/android/preload/ui/SwingUI.java @@ -54,6 +54,11 @@ public class SwingUI extends JFrame implements IUI { } @Override + public boolean isSingleThreaded() { + return false; + } + + @Override public void prepare(ListModel<Client> clientListModel, TableModel dataTableModel, List<Action> actions) { getContentPane().add(new JScrollPane(clientList = new JList<Client>(clientListModel)), |