From f53945205070b53eb1903f72994334a67ca014b1 Mon Sep 17 00:00:00 2001 From: prateikj <68923371+prateikj@users.noreply.github.com> Date: Tue, 28 Jul 2020 17:26:56 -0700 Subject: 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. --- .../com/google/android/mobly/snippet/rpc/MethodDescriptor.java | 7 +++++++ 1 file changed, 7 insertions(+) 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()]; -- cgit v1.2.3