From 3cc1ba6ec1f02b04a3b90465a4640c313bdd7d37 Mon Sep 17 00:00:00 2001 From: Sergey Tikhomirov Date: Sat, 14 Apr 2018 00:18:28 +0300 Subject: [PATCH 1/2] Addition to #846 and #855: - OkHttpClient instead of ApacheHttpClient - fix of java.lang.IllegalArgumentException: Input byte array has incorrect ending byte at... --- .../java/io/appium/java_client/clipboard/HasClipboard.java | 2 +- .../io/appium/java_client/remote/AppiumCommandExecutor.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/appium/java_client/clipboard/HasClipboard.java b/src/main/java/io/appium/java_client/clipboard/HasClipboard.java index a0a07c556..0152ca706 100644 --- a/src/main/java/io/appium/java_client/clipboard/HasClipboard.java +++ b/src/main/java/io/appium/java_client/clipboard/HasClipboard.java @@ -72,7 +72,7 @@ default void setClipboardText(String text) { */ default String getClipboardText() { byte[] base64decodedBytes = Base64 - .getDecoder() + .getMimeDecoder() .decode(getClipboard(ClipboardContentType.PLAINTEXT)); return new String(base64decodedBytes, StandardCharsets.UTF_8); } diff --git a/src/main/java/io/appium/java_client/remote/AppiumCommandExecutor.java b/src/main/java/io/appium/java_client/remote/AppiumCommandExecutor.java index f8651dad6..5426de95f 100644 --- a/src/main/java/io/appium/java_client/remote/AppiumCommandExecutor.java +++ b/src/main/java/io/appium/java_client/remote/AppiumCommandExecutor.java @@ -33,7 +33,7 @@ import org.openqa.selenium.remote.http.HttpClient; import org.openqa.selenium.remote.http.HttpRequest; import org.openqa.selenium.remote.http.W3CHttpCommandCodec; -import org.openqa.selenium.remote.internal.ApacheHttpClient; +import org.openqa.selenium.remote.internal.OkHttpClient; import org.openqa.selenium.remote.service.DriverService; import java.io.IOException; @@ -70,12 +70,12 @@ public AppiumCommandExecutor(Map additionalCommands, public AppiumCommandExecutor(Map additionalCommands, URL addressOfRemoteServer) { - this(additionalCommands, addressOfRemoteServer, new ApacheHttpClient.Factory()); + this(additionalCommands, addressOfRemoteServer, new OkHttpClient.Factory()); } public AppiumCommandExecutor(Map additionalCommands, DriverService service) { - this(additionalCommands, service, new ApacheHttpClient.Factory()); + this(additionalCommands, service, new OkHttpClient.Factory()); } private B getPrivateFieldValue(String fieldName, Class fieldType) { From 94aea3eb1802ef81fc2117298a4f3c1c3a32facc Mon Sep 17 00:00:00 2001 From: Sergey Tikhomirov Date: Mon, 16 Apr 2018 23:16:39 +0300 Subject: [PATCH 2/2] Addition to #846 and #855: - using of mime encoder/decoder --- .../io/appium/java_client/clipboard/HasClipboard.java | 2 +- .../java/io/appium/java_client/ios/HasIOSClipboard.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/appium/java_client/clipboard/HasClipboard.java b/src/main/java/io/appium/java_client/clipboard/HasClipboard.java index 0152ca706..ca813c4e0 100644 --- a/src/main/java/io/appium/java_client/clipboard/HasClipboard.java +++ b/src/main/java/io/appium/java_client/clipboard/HasClipboard.java @@ -61,7 +61,7 @@ default String getClipboard(ClipboardContentType contentType) { */ default void setClipboardText(String text) { setClipboard(ClipboardContentType.PLAINTEXT, Base64 - .getEncoder() + .getMimeEncoder() .encode(text.getBytes(StandardCharsets.UTF_8))); } diff --git a/src/main/java/io/appium/java_client/ios/HasIOSClipboard.java b/src/main/java/io/appium/java_client/ios/HasIOSClipboard.java index e04166116..221906279 100644 --- a/src/main/java/io/appium/java_client/ios/HasIOSClipboard.java +++ b/src/main/java/io/appium/java_client/ios/HasIOSClipboard.java @@ -42,7 +42,7 @@ default void setClipboardImage(BufferedImage img) throws IOException { try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) { ImageIO.write(checkNotNull(img), "png", os); setClipboard(ClipboardContentType.IMAGE, Base64 - .getEncoder() + .getMimeEncoder() .encode(os.toByteArray())); } } @@ -55,7 +55,7 @@ default void setClipboardImage(BufferedImage img) throws IOException { */ default BufferedImage getClipboardImage() throws IOException { final byte[] base64decodedBytes = Base64 - .getDecoder() + .getMimeDecoder() .decode(getClipboard(ClipboardContentType.IMAGE)); return ImageIO.read(new ByteArrayInputStream(base64decodedBytes)); } @@ -67,7 +67,7 @@ default BufferedImage getClipboardImage() throws IOException { */ default void setClipboardUrl(URL url) { setClipboard(ClipboardContentType.URL, Base64 - .getEncoder() + .getMimeEncoder() .encode(checkNotNull(url).toString().getBytes(StandardCharsets.UTF_8))); } @@ -79,7 +79,7 @@ default void setClipboardUrl(URL url) { */ default URL getClipboardUrl() throws MalformedURLException { final byte[] base64decodedBytes = Base64 - .getDecoder() + .getMimeDecoder() .decode(getClipboard(ClipboardContentType.URL)); return new URL(new String(base64decodedBytes, StandardCharsets.UTF_8)); }