Skip to content
This repository was archived by the owner on Dec 3, 2025. It is now read-only.

Commit c366cbd

Browse files
author
Paulina Strychacz
committed
new regex to get ScreenResolution for Android 9 & 10 devices
1 parent ace58b6 commit c366cbd

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/main/kotlin/internal/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import org.gradle.api.GradleException
66
object ShellCommands {
77
const val DUMPSYS_INPUT_METHOD = "dumpsys input_method"
88
const val DUMPSYS_WINDOW = "dumpsys window"
9+
const val DUMPSYS_WINDOW_DISPLAYS = "dumpsys window displays"
910
const val DUMPSYS_WIFI = "dumpsys wifi"
1011
const val INPUT_WAKE_UP_CALL = "input keyevent 224"
1112
const val INPUT_SLEEP_CALL = "input keyevent 223"

src/main/kotlin/internal/DeviceWrapper.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import internal.ShellCommands.CHANGE_LANGUAGE_VIA_APP
88
import internal.ShellCommands.DUMPSYS_INPUT_METHOD
99
import internal.ShellCommands.DUMPSYS_WIFI
1010
import internal.ShellCommands.DUMPSYS_WINDOW
11+
import internal.ShellCommands.DUMPSYS_WINDOW_DISPLAYS
1112
import internal.ShellCommands.SETTINGS_GET_ANDROID_ID
1213
import internal.ShellCommands.SETTINGS_GET_GLOBAL
1314
import internal.ShellCommands.SETTINGS_GET_STAY_ON
@@ -32,7 +33,14 @@ class DeviceWrapper(val device: IDevice, val outputReceiverProvider: OutputRecei
3233
}
3334

3435
fun getDeviceScreenResolution(): ScreenResolution {
35-
val output = analyzeOutputOfShellCommandByRegex(DUMPSYS_WINDOW, "mUnrestrictedScreen.*?(\\d+)x(\\d+)")
36+
val output: Matcher = try {
37+
analyzeOutputOfShellCommandByRegex(DUMPSYS_WINDOW, "mUnrestrictedScreen.*?(\\d+)x(\\d+)")
38+
}
39+
catch (e: GradleException) {
40+
// Android 9 & 10
41+
analyzeOutputOfShellCommandByRegex(DUMPSYS_WINDOW_DISPLAYS, "mUnrestricted.*?\\[.*\\]\\[(\\d+),(\\d+)\\]")
42+
}
43+
3644
val screenWidth = output.group(1).trim().toInt()
3745
val screenHeight = output.group(2).trim().toInt()
3846
return ScreenResolution(xValue = screenWidth, yValue = screenHeight)

0 commit comments

Comments
 (0)