diff options
author | Liam Mark <lmark@codeaurora.org> | 2014-03-14 15:47:14 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2014-11-04 08:23:54 -0700 |
commit | b212eb32a64d435a8b37e002376039c8ea7104e9 (patch) | |
tree | 9077fa901556590a12fa10eef0cafb00bbbe3041 | |
parent | fcaa57f6a0ad09563a26ee111884aec5e43a3330 (diff) | |
download | android_development-b212eb32a64d435a8b37e002376039c8ea7104e9.tar.gz android_development-b212eb32a64d435a8b37e002376039c8ea7104e9.tar.bz2 android_development-b212eb32a64d435a8b37e002376039c8ea7104e9.zip |
Monkey support to sort the app list
Add support to sort the apps list.
By sorting the app list we can ensure that monkey
deterministically launches apps in the same order
regardless of what order they were installed on the
device.
Change-Id: I5a12333f8e13d5d7c2f9a5833ece6a211977fe0f
-rw-r--r-- | cmds/monkey/src/com/android/commands/monkey/Monkey.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cmds/monkey/src/com/android/commands/monkey/Monkey.java b/cmds/monkey/src/com/android/commands/monkey/Monkey.java index dfcb4b02c..4953242af 100644 --- a/cmds/monkey/src/com/android/commands/monkey/Monkey.java +++ b/cmds/monkey/src/com/android/commands/monkey/Monkey.java @@ -49,6 +49,7 @@ import java.io.InputStreamReader; import java.io.Writer; import java.security.SecureRandom; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -235,6 +236,9 @@ public class Monkey { /** a filename to the setup script (if any) */ private String mSetupFileName = null; + /** Sort the app list */ + private boolean mSortAppList = false; + /** filenames of the script (if any) */ private ArrayList<String> mScriptFileNames = new ArrayList<String>(); @@ -828,6 +832,8 @@ public class Monkey { mServerPort = (int) nextOptionLong("Server port to listen on for commands"); } else if (opt.equals("--setup")) { mSetupFileName = nextOptionData(); + } else if (opt.equals("--sort-app-list")) { + mSortAppList = true; } else if (opt.equals("-f")) { mScriptFileNames.add(nextOptionData()); } else if (opt.equals("--profile-wait")) { @@ -1038,6 +1044,16 @@ public class Monkey { return false; } + if (mSortAppList) { + Collections.sort(mMainApps); + if (mVerbose >= 2) { // very verbose + System.out.println("// Sorted main activity list"); + for (ComponentName cn : mMainApps) { + System.out.println("// + Using main activity " + cn); + } + } + } + return true; } @@ -1358,6 +1374,7 @@ public class Monkey { usage.append(" [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]\n"); usage.append(" [--port port]\n"); usage.append(" [-s SEED] [-v [-v] ...]\n"); + usage.append(" [--sort-app-list]\n"); usage.append(" [--throttle MILLISEC] [--randomize-throttle]\n"); usage.append(" [--profile-wait MILLISEC]\n"); usage.append(" [--device-sleep-time MILLISEC]\n"); |