From 766bb4da1a17346c87ef72c9bb19f7bacc9b4fe6 Mon Sep 17 00:00:00 2001 From: Marc Bonnici Date: Thu, 4 Jul 2019 10:28:55 +0100 Subject: [PATCH] fw/uiauto: Allow specifying landscape and portrait orientation Previously the `setScreenOrientation` function only accepted relative orientations, this causes issue when attempt to use across tablets and phones with different natural orientations. Now take into account the current orientation and screen resolution to allow specifying portrait vs landscape across different types of devices. --- .../com/arm/wa/uiauto/BaseUiAutomation.java | 28 +++++++++++++++++- wa/framework/uiauto/uiauto.aar | Bin 17105 -> 17363 bytes 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/wa/framework/uiauto/app/src/main/java/com/arm/wa/uiauto/BaseUiAutomation.java b/wa/framework/uiauto/app/src/main/java/com/arm/wa/uiauto/BaseUiAutomation.java index 0a29df26..2c657e91 100644 --- a/wa/framework/uiauto/app/src/main/java/com/arm/wa/uiauto/BaseUiAutomation.java +++ b/wa/framework/uiauto/app/src/main/java/com/arm/wa/uiauto/BaseUiAutomation.java @@ -45,7 +45,7 @@ public class BaseUiAutomation { public enum FindByCriteria { BY_ID, BY_TEXT, BY_DESC }; public enum Direction { UP, DOWN, LEFT, RIGHT, NULL }; - public enum ScreenOrientation { RIGHT, NATURAL, LEFT }; + public enum ScreenOrientation { RIGHT, NATURAL, LEFT, PORTRAIT, LANDSCAPE }; public enum PinchType { IN, OUT, NULL }; // Time in milliseconds @@ -176,6 +176,8 @@ public class BaseUiAutomation { } public void setScreenOrientation(ScreenOrientation orientation) throws Exception { + int width = mDevice.getDisplayWidth(); + int height = mDevice.getDisplayHeight(); switch (orientation) { case RIGHT: mDevice.setOrientationRight(); @@ -186,6 +188,30 @@ public class BaseUiAutomation { case LEFT: mDevice.setOrientationLeft(); break; + case LANDSCAPE: + if (mDevice.isNaturalOrientation()){ + if (height > width){ + mDevice.setOrientationRight(); + } + } + else { + if (height > width){ + mDevice.setOrientationNatural(); + } + } + break; + case PORTRAIT: + if (mDevice.isNaturalOrientation()){ + if (height < width){ + mDevice.setOrientationRight(); + } + } + else { + if (height < width){ + mDevice.setOrientationNatural(); + } + } + break; default: throw new Exception("No orientation specified"); } diff --git a/wa/framework/uiauto/uiauto.aar b/wa/framework/uiauto/uiauto.aar index a39b662b862896c9317679606bcda1f9c1ac7387..b58f040a0bf5179adedc86ee83d195394a1162bb 100644 GIT binary patch delta 16858 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