Merge change 22040 into donut
* changes:
Fix broken XML generated during "Extract string"
diff --git a/tools/monkeyrunner/src/com/android/monkeyrunner/MonkeyRunner.java b/tools/monkeyrunner/src/com/android/monkeyrunner/MonkeyRunner.java
index 3d51615..cbc881c 100644
--- a/tools/monkeyrunner/src/com/android/monkeyrunner/MonkeyRunner.java
+++ b/tools/monkeyrunner/src/com/android/monkeyrunner/MonkeyRunner.java
@@ -45,8 +45,8 @@
*/
public class MonkeyRunner {
- static String monkeyServer = null;
- static int monkeyPort;
+ static String monkeyServer = "127.0.0.1";
+ static int monkeyPort = 1080;
static Socket monkeySocket = null;
static IDevice monkeyDevice;
@@ -62,7 +62,7 @@
public static void main(String[] args) {
processOptions(args);
-
+
initAdbConnection();
openMonkeyConnection();
@@ -150,9 +150,13 @@
monkeyDevice = devices[0];
}
- } finally {
- }
+ monkeyDevice.createForward(monkeyPort, monkeyPort);
+ String command = "monkey --port " + monkeyPort;
+ monkeyDevice.executeShellCommand(command, new NullOutputReceiver());
+ } catch(IOException e) {
+ e.printStackTrace();
+ }
}
/**
diff --git a/tools/sdkstats/src/com/android/sdkstats/SdkStatsService.java b/tools/sdkstats/src/com/android/sdkstats/SdkStatsService.java
index 688474e..c98fc94 100644
--- a/tools/sdkstats/src/com/android/sdkstats/SdkStatsService.java
+++ b/tools/sdkstats/src/com/android/sdkstats/SdkStatsService.java
@@ -44,6 +44,8 @@
import java.net.URL;
import java.net.URLEncoder;
import java.util.Random;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/** Utility class to send "ping" usage reports to the server. */
public class SdkStatsService {
@@ -93,14 +95,14 @@
"kfmclient openURL %URL%", // $NON-NLS-1$ Konqueror
"opera -newwindow %URL%", // $NON-NLS-1$ Opera
};
-
+
public final static String PING_OPT_IN = "pingOptIn"; //$NON-NLS-1$
public final static String PING_TIME = "pingTime"; //$NON-NLS-1$
public final static String PING_ID = "pingId"; //$NON-NLS-1$
private static PreferenceStore sPrefStore;
-
+
/**
* Send a "ping" to the Google toolbar server, if enough time has
* elapsed since the last ping, and if the user has not opted out.
@@ -123,7 +125,7 @@
if (!prefs.contains(PING_ID)) {
// First time: make up a new ID. TODO: Use something more random?
prefs.setValue(PING_ID, new Random().nextLong());
-
+
// Also give them a chance to opt out.
prefs.setValue(PING_OPT_IN, getUserPermission(display));
try {
@@ -132,13 +134,13 @@
catch (IOException ioe) {
}
}
-
+
// If the user has not opted in, do nothing and quietly return.
if (!prefs.getBoolean(PING_OPT_IN)) {
// user opted out.
return;
}
-
+
// If the last ping *for this app* was too recent, do nothing.
String timePref = PING_TIME + "." + app; // $NON-NLS-1$
long now = System.currentTimeMillis();
@@ -147,7 +149,7 @@
// too soon after a ping.
return;
}
-
+
// Record the time of the attempt, whether or not it succeeds.
prefs.setValue(timePref, now);
try {
@@ -155,7 +157,7 @@
}
catch (IOException ioe) {
}
-
+
// Send the ping itself in the background (don't block if the
// network is down or slow or confused).
final long id = prefs.getLong(PING_ID);
@@ -171,7 +173,7 @@
}.start();
}
}
-
+
/**
* Returns the DDMS {@link PreferenceStore}.
*/
@@ -187,7 +189,7 @@
if (homeDir != null) {
String rcFileName = homeDir + "ddms.cfg"; //$NON-NLS-1$
-
+
// also look for an old pref file in the previous location
String oldPrefPath = System.getProperty("user.home") //$NON-NLS-1$
+ File.separator + ".ddmsrc"; //$NON-NLS-1$
@@ -196,10 +198,10 @@
try {
PreferenceStore oldStore = new PreferenceStore(oldPrefPath);
oldStore.load();
-
+
oldStore.save(new FileOutputStream(rcFileName), "");
oldPrefFile.delete();
-
+
PreferenceStore newStore = new PreferenceStore(rcFileName);
newStore.load();
sPrefStore = newStore;
@@ -220,10 +222,10 @@
sPrefStore = new PreferenceStore();
}
}
-
+
return sPrefStore;
}
-
+
/**
* Unconditionally send a "ping" request to the Google toolbar server.
*
@@ -239,8 +241,16 @@
String os = System.getProperty("os.name"); // $NON-NLS-1$
if (os.startsWith("Mac OS")) { // $NON-NLS-1$
os = "mac"; // $NON-NLS-1$
+ String osVers = getVersion();
+ if (osVers != null) {
+ os = os + "-" + osVers; // $NON-NLS-1$
+ }
} else if (os.startsWith("Windows")) { // $NON-NLS-1$
os = "win"; // $NON-NLS-1$
+ String osVers = getVersion();
+ if (osVers != null) {
+ os = os + "-" + osVers; // $NON-NLS-1$
+ }
} else if (os.startsWith("Linux")) { // $NON-NLS-1$
os = "linux"; // $NON-NLS-1$
} else {
@@ -272,6 +282,24 @@
}
/**
+ * Returns the version of the os if it is defined as X.Y, or null otherwise.
+ * <p/>
+ * Example of returned versions can be found at http://lopica.sourceforge.net/os.html
+ * <p/>
+ * This method removes any exiting micro versions.
+ */
+ private static String getVersion() {
+ Pattern p = Pattern.compile("(\\d+)\\.(\\d+).*"); // $NON-NLS-1$
+ String osVers = System.getProperty("os.version"); // $NON-NLS-1$
+ Matcher m = p.matcher(osVers);
+ if (m.matches()) {
+ return m.group(1) + "." + m.group(2); // $NON-NLS-1$
+ }
+
+ return null;
+ }
+
+ /**
* Prompt the user for whether they want to opt out of reporting.
* @return whether the user allows reporting (they do not opt out).
*/