From 3697fee5e9dac7ff739ee5cfec62640122dd0ca8 Mon Sep 17 00:00:00 2001 From: jdf Date: Sun, 28 Feb 2010 01:43:08 +0000 Subject: [PATCH] Attempt to start with a clean adb environment, and to leave it clean at exit. --- .../app/tools/android/AndroidEnvironment.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/android/tool/src/processing/app/tools/android/AndroidEnvironment.java b/android/tool/src/processing/app/tools/android/AndroidEnvironment.java index cc7fe3c29..47c4aa18d 100644 --- a/android/tool/src/processing/app/tools/android/AndroidEnvironment.java +++ b/android/tool/src/processing/app/tools/android/AndroidEnvironment.java @@ -27,7 +27,7 @@ import java.util.concurrent.FutureTask; * @author Jonathan Feinberg <jdf@pobox.com> * */ -public class AndroidEnvironment implements AndroidEnvironmentProperties { +class AndroidEnvironment implements AndroidEnvironmentProperties { private static final AndroidEnvironment INSTANCE = new AndroidEnvironment(); public static AndroidEnvironment getInstance() { @@ -39,17 +39,18 @@ public class AndroidEnvironment implements AndroidEnvironmentProperties { .newSingleThreadExecutor(); public static void killAdbServer() { - System.err.println("Killing server"); + System.err.println("Attempting to shut down existing adb server..."); try { new ProcessHelper("adb", "kill-server").execute(); - System.err.println("Dead"); + System.err.println("...it's dead, or at least not at all well."); } catch (final Exception e) { e.printStackTrace(System.err); } } private AndroidEnvironment() { - System.err.println("Startup AndroidEnvironment"); + System.err.println("Starting up AndroidEnvironment"); + killAdbServer(); try { new ProcessHelper("adb", "start-server").execute(); } catch (final Exception e) { @@ -64,12 +65,13 @@ public class AndroidEnvironment implements AndroidEnvironmentProperties { }); } - protected void shutdown() { + private void shutdown() { System.err.println("Shutting down AndroidEnvironment"); for (final AndroidDevice device : new ArrayList(devices .values())) { device.shutdown(); } + killAdbServer(); } public Future getEmulator() { @@ -188,7 +190,7 @@ public class AndroidEnvironment implements AndroidEnvironmentProperties { } } - static final String ADB_DEVICES_ERROR = "Received unfamiliar output from “adb devices”.\n" + private static final String ADB_DEVICES_ERROR = "Received unfamiliar output from “adb devices”.\n" + "The device list may have errors."; /**