aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorprateikj <68923371+prateikj@users.noreply.github.com>2020-07-28 17:26:56 -0700
committerGitHub <noreply@github.com>2020-07-29 08:26:56 +0800
commitf53945205070b53eb1903f72994334a67ca014b1 (patch)
tree613aa8744f106e4f8b3a23f2b063eaf1315c289d
parentf92217ab5968c83fcb9154549c06fb00037f2ed1 (diff)
downloadmobly-snippet-lib-f53945205070b53eb1903f72994334a67ca014b1.tar.gz
Add support for long arrays as snippet parameters (#105)
Specifying a snippet that takes a long array as a parameter, currently fails because there is no explicit conversion specified for the long array type. Using an integer array as an alternative is also problematic, because the size of a Python integer can exceed the size of a Java integer.
-rw-r--r--third_party/sl4a/src/main/java/com/google/android/mobly/snippet/rpc/MethodDescriptor.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/rpc/MethodDescriptor.java b/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/rpc/MethodDescriptor.java
index 11eb9ce..b9c8a7a 100644
--- a/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/rpc/MethodDescriptor.java
+++ b/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/rpc/MethodDescriptor.java
@@ -122,6 +122,13 @@ public final class MethodDescriptor {
result[i] = list.getInt(i);
}
return result;
+ } else if (type == Long[].class || type == long[].class) {
+ JSONArray list = parameters.getJSONArray(index);
+ Long[] result = new Long[list.length()];
+ for (int i = 0; i < list.length(); i++) {
+ result[i] = list.getLong(i);
+ }
+ return result;
} else if (type == Byte.class || type == byte[].class) {
JSONArray list = parameters.getJSONArray(index);
byte[] result = new byte[list.length()];