From bc37c77d9dc24ec03ddd4c6cdd08df1ba9b26610 Mon Sep 17 00:00:00 2001 From: Zdravko Branzov Date: Thu, 15 Aug 2019 17:08:54 +0300 Subject: [PATCH] fix: apply provided capabilities for density and offset in sauceLabs runs --- lib/device-manager.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/device-manager.ts b/lib/device-manager.ts index 96e68ab..604e67a 100644 --- a/lib/device-manager.ts +++ b/lib/device-manager.ts @@ -11,7 +11,7 @@ import { DeviceType, sortDescByApiLevelPredicate } from "mobile-devices-controller"; -import { isRegExp } from "util"; +import { isRegExp, isNumber } from "util"; import { NsCapabilities } from "./ns-capabilities"; export class DeviceManager implements IDeviceManager { @@ -201,13 +201,14 @@ export class DeviceManager implements IDeviceManager { args.device.apiLevel = sessionInfoDetails.deviceApiLevel; args.device.deviceScreenDensity = sessionInfoDetails.deviceScreenDensity / 100; - args.device.config = { "density": args.device.deviceScreenDensity, "offsetPixels": +sessionInfoDetails.statBarHeight }; + args.device.config = { "density": args.device.deviceScreenDensity || args.device.config.density, "offsetPixels": +sessionInfoDetails.statBarHeight || args.device.config.offsetPixels }; } else { args.device.apiLevel = sessionInfoDetails.platformVersion; args.device.deviceScreenDensity = sessionInfoDetails.pixelRatio; - args.device.config = { "density": sessionInfoDetails.pixelRatio, "offsetPixels": +sessionInfoDetails.viewportRect.top - +sessionInfoDetails.statBarHeight }; + const offsetPixels = +sessionInfoDetails.viewportRect.top - +sessionInfoDetails.statBarHeight; + args.device.config = { "density": sessionInfoDetails.pixelRatio || args.device.config.density, "offsetPixels": isNumber(offsetPixels) ? offsetPixels : args.device.config.offsetPixels }; } - + args.device.statBarHeight = sessionInfoDetails.statBarHeight; args.device.viewportRect = DeviceManager.convertViewportRectToIRectangle(sessionInfoDetails.viewportRect);