summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/preload2/src/com/android/preload/actions/AbstractThreadedAction.java7
-rw-r--r--tools/preload2/src/com/android/preload/actions/RunMonkeyAction.java7
-rw-r--r--tools/preload2/src/com/android/preload/ui/IUI.java2
-rw-r--r--tools/preload2/src/com/android/preload/ui/SwingUI.java5
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)),