|
26 | 26 | import org.slf4j.LoggerFactory;
|
27 | 27 |
|
28 | 28 | import java.lang.reflect.Method;
|
29 |
| -import java.util.ArrayList; |
30 | 29 | import java.util.List;
|
31 | 30 | import java.util.concurrent.Callable;
|
| 31 | +import java.util.stream.Collectors; |
32 | 32 |
|
33 | 33 | import static io.appium.java_client.proxy.MethodCallListener.UNSET;
|
34 | 34 |
|
@@ -115,21 +115,25 @@ public static Object intercept(
|
115 | 115 | }
|
116 | 116 |
|
117 | 117 | if (result instanceof RemoteWebElement) {
|
118 |
| - result = Helpers.wrapElement((RemoteWebElement) result, (HasMethodCallListeners) self, listeners); |
| 118 | + result = Helpers.wrapElement( |
| 119 | + (RemoteWebElement) result, |
| 120 | + (HasMethodCallListeners) self, |
| 121 | + listeners); |
119 | 122 | } else if (result instanceof List) {
|
120 | 123 | List<?> originalList = (List<?>) result;
|
121 |
| - if (!originalList.isEmpty() && originalList.get(0) instanceof RemoteWebElement) { |
122 |
| - List<Object> wrappedList = new ArrayList<>(originalList.size()); |
123 |
| - for (Object item : originalList) { |
124 |
| - if (item instanceof RemoteWebElement) { |
125 |
| - wrappedList.add(Helpers.wrapElement( |
126 |
| - (RemoteWebElement) item, |
127 |
| - (HasMethodCallListeners) self, listeners)); |
128 |
| - } else { |
129 |
| - wrappedList.add(item); |
130 |
| - } |
131 |
| - } |
132 |
| - result = wrappedList; |
| 124 | + |
| 125 | + if (!originalList.isEmpty()) { |
| 126 | + result = originalList.stream() |
| 127 | + .map(item -> { |
| 128 | + if (item instanceof RemoteWebElement) { |
| 129 | + return Helpers.wrapElement( |
| 130 | + (RemoteWebElement) item, |
| 131 | + (HasMethodCallListeners) self, |
| 132 | + listeners); |
| 133 | + } |
| 134 | + return item; |
| 135 | + }) |
| 136 | + .collect(Collectors.toList()); |
133 | 137 | }
|
134 | 138 | }
|
135 | 139 |
|
|
0 commit comments