From b0c43f28826f8cf55252927c9a82938fab633928 Mon Sep 17 00:00:00 2001 From: Mykola Mokhnach Date: Fri, 3 Apr 2020 11:58:02 +0200 Subject: [PATCH 1/2] chore: Change getDeviceTime to call the `mobile` implementation --- src/main/java/io/appium/java_client/HasDeviceTime.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/appium/java_client/HasDeviceTime.java b/src/main/java/io/appium/java_client/HasDeviceTime.java index abb03b0f0..48159df3c 100644 --- a/src/main/java/io/appium/java_client/HasDeviceTime.java +++ b/src/main/java/io/appium/java_client/HasDeviceTime.java @@ -18,10 +18,14 @@ import static io.appium.java_client.MobileCommand.GET_DEVICE_TIME; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import org.openqa.selenium.remote.DriverCommand; import org.openqa.selenium.remote.Response; +import java.util.Map; + public interface HasDeviceTime extends ExecutesMethod { /** @@ -34,7 +38,11 @@ public interface HasDeviceTime extends ExecutesMethod { * @return Device time string */ default String getDeviceTime(String format) { - Response response = execute(GET_DEVICE_TIME, ImmutableMap.of("format", format)); + Map params = ImmutableMap.of( + "script", "mobile: getDeviceTime", + "args", ImmutableList.of(ImmutableMap.of("format", format)) + ); + Response response = execute(DriverCommand.EXECUTE_SCRIPT, params); return response.getValue().toString(); } From 9d7c35fff188bacacab3e1f3afb925f515d45f2c Mon Sep 17 00:00:00 2001 From: Mykola Mokhnach Date: Fri, 3 Apr 2020 11:59:35 +0200 Subject: [PATCH 2/2] add since tag --- src/main/java/io/appium/java_client/HasDeviceTime.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/appium/java_client/HasDeviceTime.java b/src/main/java/io/appium/java_client/HasDeviceTime.java index 48159df3c..fa9df8997 100644 --- a/src/main/java/io/appium/java_client/HasDeviceTime.java +++ b/src/main/java/io/appium/java_client/HasDeviceTime.java @@ -35,6 +35,7 @@ public interface HasDeviceTime extends ExecutesMethod { * https://momentjs.com/docs/ to get the full list of supported * datetime format specifiers. The default format is * `YYYY-MM-DDTHH:mm:ssZ`, which complies to ISO-8601 + * @since Appium 1.18 * @return Device time string */ default String getDeviceTime(String format) {