summaryrefslogtreecommitdiffstats
path: root/cmds/am
diff options
context:
space:
mode:
authorDale Hawkins <dkhawk@google.com>2014-02-26 16:39:51 -0700
committerDale Hawkins <dkhawk@google.com>2014-02-26 18:01:00 -0700
commit28600e261c088eddcd0201820ed93730c77af282 (patch)
tree53d62682d1e1b993c55055044f4d2bb56845690d /cmds/am
parentadcd253a144bc0c8efdfec6de63adf6bfb97acbd (diff)
downloadframeworks_base-28600e261c088eddcd0201820ed93730c77af282.zip
frameworks_base-28600e261c088eddcd0201820ed93730c77af282.tar.gz
frameworks_base-28600e261c088eddcd0201820ed93730c77af282.tar.bz2
Adds support for array string extra.
Adds support for setting an array string extra on an intent when launching an activity/service. Allows inclusion of commas using an escape character. Change-Id: I8857f7d28d60b75ddc65dc47f345a77230d00467
Diffstat (limited to 'cmds/am')
-rw-r--r--cmds/am/src/com/android/commands/am/Am.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java
index 89e15d2..01e7615 100644
--- a/cmds/am/src/com/android/commands/am/Am.java
+++ b/cmds/am/src/com/android/commands/am/Am.java
@@ -232,6 +232,8 @@ public class Am extends BaseCommand {
" [--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]\n" +
" [--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]\n" +
" [--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]\n" +
+ " [--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]\n" +
+ " (to embed a comma into a string escape it using \"\\,\")\n" +
" [-n <COMPONENT>] [-f <FLAGS>]\n" +
" [--grant-read-uri-permission] [--grant-write-uri-permission]\n" +
" [--debug-log-resolution] [--exclude-stopped-packages]\n" +
@@ -419,6 +421,15 @@ public class Am extends BaseCommand {
}
intent.putExtra(key, list);
hasIntentInfo = true;
+ } else if (opt.equals("--esa")) {
+ String key = nextArgRequired();
+ String value = nextArgRequired();
+ // Split on commas unless they are preceeded by an escape.
+ // The escape character must be escaped for the string and
+ // again for the regex, thus four escape characters become one.
+ String[] strings = value.split("(?<!\\\\),");
+ intent.putExtra(key, strings);
+ hasIntentInfo = true;
} else if (opt.equals("--ez")) {
String key = nextArgRequired();
String value = nextArgRequired();