appium-android-driver 5.2.8 → 5.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/commands/system-bars.js +13 -25
- package/lib/commands/system-bars.js +13 -19
- package/package.json +1 -1
|
@@ -14,8 +14,9 @@ require("source-map-support/register");
|
|
|
14
14
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
15
15
|
|
|
16
16
|
const WINDOW_TITLE_PATTERN = /^\s+Window\s#\d+\sWindow\{[0-9a-f]+\s\w+\s([\w-]+)\}:$/;
|
|
17
|
-
const FRAME_PATTERN =
|
|
18
|
-
const
|
|
17
|
+
const FRAME_PATTERN = /\bm?[Ff]rame=\[([0-9.-]+),([0-9.-]+)\]\[([0-9.-]+),([0-9.-]+)\]/;
|
|
18
|
+
const VIEW_VISIBILITY_PATTERN = /\bmViewVisibility=(0x[0-9a-fA-F]+)/;
|
|
19
|
+
const VIEW_VISIBLE = 0x0;
|
|
19
20
|
const STATUS_BAR_WINDOW_NAME_PREFIX = 'StatusBar';
|
|
20
21
|
const NAVIGATION_BAR_WINDOW_NAME_PREFIX = 'NavigationBar';
|
|
21
22
|
const DEFAULT_WINDOW_PROPERTIES = {
|
|
@@ -42,51 +43,38 @@ function parseWindowProperties(name, props, log = null) {
|
|
|
42
43
|
result.y = parseFloat(frameMatch[2]);
|
|
43
44
|
result.width = parseFloat(frameMatch[3]) - result.x;
|
|
44
45
|
result.height = parseFloat(frameMatch[4]) - result.y;
|
|
45
|
-
const visibilityMatch =
|
|
46
|
+
const visibilityMatch = VIEW_VISIBILITY_PATTERN.exec(propLines);
|
|
46
47
|
|
|
47
48
|
if (!visibilityMatch) {
|
|
48
49
|
log === null || log === void 0 ? void 0 : log.debug(propLines);
|
|
49
50
|
throw new Error(`Cannot parse the visibility value from '${name}' window properties`);
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
result.visible = visibilityMatch[1] ===
|
|
53
|
+
result.visible = parseInt(visibilityMatch[1], 16) === VIEW_VISIBLE;
|
|
53
54
|
return result;
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
function parseWindows(lines, log = null) {
|
|
57
58
|
const windows = {};
|
|
58
59
|
let currentWindowName = null;
|
|
59
|
-
let windowNameRowIndent = null;
|
|
60
60
|
|
|
61
61
|
for (const line of lines.split('\n').map(_lodash.default.trimEnd)) {
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
if (_lodash.default.isNil(windowNameRowIndent) || currentIndent <= windowNameRowIndent) {
|
|
65
|
-
const match = WINDOW_TITLE_PATTERN.exec(line);
|
|
66
|
-
|
|
67
|
-
if (!match) {
|
|
68
|
-
currentWindowName = null;
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
62
|
+
const match = WINDOW_TITLE_PATTERN.exec(line);
|
|
71
63
|
|
|
64
|
+
if (match) {
|
|
72
65
|
currentWindowName = match[1];
|
|
73
|
-
|
|
74
|
-
if (_lodash.default.isNil(windowNameRowIndent)) {
|
|
75
|
-
windowNameRowIndent = currentIndent;
|
|
76
|
-
}
|
|
77
|
-
|
|
66
|
+
windows[currentWindowName] = [];
|
|
78
67
|
continue;
|
|
79
68
|
}
|
|
80
69
|
|
|
81
|
-
if (
|
|
70
|
+
if (_lodash.default.trim(line).length === 0) {
|
|
71
|
+
currentWindowName = null;
|
|
82
72
|
continue;
|
|
83
73
|
}
|
|
84
74
|
|
|
85
|
-
if (
|
|
86
|
-
windows[currentWindowName]
|
|
75
|
+
if (currentWindowName && _lodash.default.isArray(windows[currentWindowName])) {
|
|
76
|
+
windows[currentWindowName].push(line);
|
|
87
77
|
}
|
|
88
|
-
|
|
89
|
-
windows[currentWindowName].push(line);
|
|
90
78
|
}
|
|
91
79
|
|
|
92
80
|
if (_lodash.default.isEmpty(windows)) {
|
|
@@ -133,4 +121,4 @@ var _default = commands;
|
|
|
133
121
|
exports.default = _default;require('source-map-support').install();
|
|
134
122
|
|
|
135
123
|
|
|
136
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbW1hbmRzL3N5c3RlbS1iYXJzLmpzIiwibmFtZXMiOlsiV0lORE9XX1RJVExFX1BBVFRFUk4iLCJGUkFNRV9QQVRURVJOIiwiU1VSRkFDRV9QQVRURVJOIiwiU1RBVFVTX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVgiLCJOQVZJR0FUSU9OX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVgiLCJERUZBVUxUX1dJTkRPV19QUk9QRVJUSUVTIiwidmlzaWJsZSIsIngiLCJ5Iiwid2lkdGgiLCJoZWlnaHQiLCJjb21tYW5kcyIsInBhcnNlV2luZG93UHJvcGVydGllcyIsIm5hbWUiLCJwcm9wcyIsImxvZyIsInJlc3VsdCIsIl8iLCJjbG9uZURlZXAiLCJwcm9wTGluZXMiLCJqb2luIiwiZnJhbWVNYXRjaCIsImV4ZWMiLCJkZWJ1ZyIsIkVycm9yIiwicGFyc2VGbG9hdCIsInZpc2liaWxpdHlNYXRjaCIsInBhcnNlV2luZG93cyIsImxpbmVzIiwid2luZG93cyIsImN1cnJlbnRXaW5kb3dOYW1lIiwid2luZG93TmFtZVJvd0luZGVudCIsImxpbmUiLCJzcGxpdCIsIm1hcCIsInRyaW1FbmQiLCJjdXJyZW50SW5kZW50IiwibGVuZ3RoIiwidHJpbVN0YXJ0IiwiaXNOaWwiLCJtYXRjaCIsImlzQXJyYXkiLCJwdXNoIiwiaXNFbXB0eSIsInN0YXR1c0JhciIsIm5hdmlnYXRpb25CYXIiLCJ0b1BhaXJzIiwic3RhcnRzV2l0aCIsInVubWF0Y2hlZFdpbmRvd3MiLCJmaWx0ZXIiLCJ3aW5kb3ciLCJuYW1lUHJlZml4IiwiaW5mbyIsImtleXMiLCJnZXRTeXN0ZW1CYXJzIiwic3Rkb3V0IiwiYWRiIiwic2hlbGwiLCJlIiwibWVzc2FnZSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9jb21tYW5kcy9zeXN0ZW0tYmFycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCBXSU5ET1dfVElUTEVfUEFUVEVSTiA9IC9eXFxzK1dpbmRvd1xccyNcXGQrXFxzV2luZG93XFx7WzAtOWEtZl0rXFxzXFx3K1xccyhbXFx3LV0rKVxcfTokLztcbmNvbnN0IEZSQU1FX1BBVFRFUk4gPSAvXlxccyttRnJhbWU9XFxbKFswLTkuLV0rKSwoWzAtOS4tXSspXFxdXFxbKFswLTkuLV0rKSwoWzAtOS4tXSspXFxdL207XG5jb25zdCBTVVJGQUNFX1BBVFRFUk4gPSAvXlxccytTdXJmYWNlOlxcc3Nob3duPSh0cnVlfGZhbHNlKS9tO1xuY29uc3QgU1RBVFVTX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVggPSAnU3RhdHVzQmFyJztcbmNvbnN0IE5BVklHQVRJT05fQkFSX1dJTkRPV19OQU1FX1BSRUZJWCA9ICdOYXZpZ2F0aW9uQmFyJztcbmNvbnN0IERFRkFVTFRfV0lORE9XX1BST1BFUlRJRVMgPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwLFxufTtcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBXaW5kb3dQcm9wZXJ0aWVzXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHZpc2libGUgV2hldGhlciB0aGUgd2luZG93IGlzIHZpc2libGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB4IFdpbmRvdyB4IGNvb3JkaW5hdGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB5IFdpbmRvdyB5IGNvb3JkaW5hdGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB3aWR0aCBXaW5kb3cgd2lkdGhcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBoZWlnaHQgV2luZG93IGhlaWdodFxuICovXG5cbi8qKlxuICogUGFyc2VzIHdpbmRvdyBwcm9wZXJ0aWVzIGZyb20gYWRiIGR1bXBzeXMgb3V0cHV0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHdpbmRvdyB3aG9zZSBwcm9wZXJ0aWVzIGFyZSBiZWluZyBwYXJzZWRcbiAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gcHJvcHMgVGhlIGxpc3Qgb2YgcGFydGljdWxhciB3aW5kb3cgcHJvcGVydHkgbGluZXMuXG4gKiBDaGVjayB0aGUgY29ycmVzcG9uZGluZyB1bml0IHRlc3RzIGZvciBtb3JlIGRldGFpbHMgb24gdGhlIGlucHV0IGZvcm1hdC5cbiAqIEBwYXJhbSB7T2JqZWN0P30gbG9nIExvZ2dlciBpbnN0YW5jZVxuICogQHJldHVybnMge1dpbmRvd1Byb3BlcnRpZXN9IFBhcnNlZCBwcm9wZXJ0aWVzIG9iamVjdFxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhbiBpc3N1ZSB3aGlsZSBwYXJzaW5nIHRoZSBwcm9wZXJ0aWVzIHN0cmluZ1xuICovXG5mdW5jdGlvbiBwYXJzZVdpbmRvd1Byb3BlcnRpZXMgKG5hbWUsIHByb3BzLCBsb2cgPSBudWxsKSB7XG4gIGNvbnN0IHJlc3VsdCA9IF8uY2xvbmVEZWVwKERFRkFVTFRfV0lORE9XX1BST1BFUlRJRVMpO1xuICBjb25zdCBwcm9wTGluZXMgPSBwcm9wcy5qb2luKCdcXG4nKTtcbiAgY29uc3QgZnJhbWVNYXRjaCA9IEZSQU1FX1BBVFRFUk4uZXhlYyhwcm9wTGluZXMpO1xuICBpZiAoIWZyYW1lTWF0Y2gpIHtcbiAgICBsb2c/LmRlYnVnKHByb3BMaW5lcyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcGFyc2UgdGhlIGZyYW1lIHNpemUgZnJvbSAnJHtuYW1lfScgd2luZG93IHByb3BlcnRpZXNgKTtcbiAgfVxuICByZXN1bHQueCA9IHBhcnNlRmxvYXQoZnJhbWVNYXRjaFsxXSk7XG4gIHJlc3VsdC55ID0gcGFyc2VGbG9hdChmcmFtZU1hdGNoWzJdKTtcbiAgcmVzdWx0LndpZHRoID0gcGFyc2VGbG9hdChmcmFtZU1hdGNoWzNdKSAtIHJlc3VsdC54O1xuICByZXN1bHQuaGVpZ2h0ID0gcGFyc2VGbG9hdChmcmFtZU1hdGNoWzRdKSAtIHJlc3VsdC55O1xuICBjb25zdCB2aXNpYmlsaXR5TWF0Y2ggPSBTVVJGQUNFX1BBVFRFUk4uZXhlYyhwcm9wTGluZXMpO1xuICBpZiAoIXZpc2liaWxpdHlNYXRjaCkge1xuICAgIGxvZz8uZGVidWcocHJvcExpbmVzKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBwYXJzZSB0aGUgdmlzaWJpbGl0eSB2YWx1ZSBmcm9tICcke25hbWV9JyB3aW5kb3cgcHJvcGVydGllc2ApO1xuICB9XG4gIHJlc3VsdC52aXNpYmxlID0gdmlzaWJpbGl0eU1hdGNoWzFdID09PSAndHJ1ZSc7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgc3RhdHVzIGFuZCBuYXZpZ2F0aW9uIGJhciBpbmZvcm1hdGlvbiBmcm9tIHRoZSB3aW5kb3cgbWFuYWdlciBvdXRwdXQuXG4gKlxuICogQHBhcmFtIHtBcnJheTxzdHJpbmc+fSBsaW5lcyBPdXRwdXQgZnJvbSBkdW1wc3lzIGNvbW1hbmQuXG4gKiBDaGVjayB0aGUgY29ycmVzcG9uZGluZyB1bml0IHRlc3RzIGZvciBtb3JlIGRldGFpbHMgb24gdGhlIGlucHV0IGZvcm1hdC5cbiAqIEBwYXJhbSB7T2JqZWN0P30gbG9nIExvZ2dlciBpbnN0YW5jZVxuICogQHJldHVybiB7T2JqZWN0fSBBbiBvYmplY3QgY29udGFpbmluZyB0d28gaXRlbXMgd2hlcmUga2V5cyBhcmUgc3RhdHVzQmFyIGFuZCBuYXZpZ2F0aW9uQmFyLFxuICogYW5kIHZhbHVlcyBhcmUgY29ycmVzcG9uZGluZyBXaW5kb3dQcm9wZXJ0aWVzIG9iamVjdHNcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiBubyB3aW5kb3cgcHJvcGVydGllcyBjb3VsZCBiZSBwYXJzZWRcbiAqL1xuZnVuY3Rpb24gcGFyc2VXaW5kb3dzIChsaW5lcywgbG9nID0gbnVsbCkge1xuICBjb25zdCB3aW5kb3dzID0ge307XG4gIGxldCBjdXJyZW50V2luZG93TmFtZSA9IG51bGw7XG4gIGxldCB3aW5kb3dOYW1lUm93SW5kZW50ID0gbnVsbDtcbiAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzLnNwbGl0KCdcXG4nKS5tYXAoXy50cmltRW5kKSkge1xuICAgIGNvbnN0IGN1cnJlbnRJbmRlbnQgPSBsaW5lLmxlbmd0aCAtIF8udHJpbVN0YXJ0KGxpbmUpLmxlbmd0aDtcbiAgICBpZiAoXy5pc05pbCh3aW5kb3dOYW1lUm93SW5kZW50KSB8fCBjdXJyZW50SW5kZW50IDw9IHdpbmRvd05hbWVSb3dJbmRlbnQpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gV0lORE9XX1RJVExFX1BBVFRFUk4uZXhlYyhsaW5lKTtcbiAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgY3VycmVudFdpbmRvd05hbWUgPSBudWxsO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGN1cnJlbnRXaW5kb3dOYW1lID0gbWF0Y2hbMV07XG4gICAgICBpZiAoXy5pc05pbCh3aW5kb3dOYW1lUm93SW5kZW50KSkge1xuICAgICAgICB3aW5kb3dOYW1lUm93SW5kZW50ID0gY3VycmVudEluZGVudDtcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoIWN1cnJlbnRXaW5kb3dOYW1lIHx8IGN1cnJlbnRJbmRlbnQgPD0gd2luZG93TmFtZVJvd0luZGVudCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKCFfLmlzQXJyYXkod2luZG93c1tjdXJyZW50V2luZG93TmFtZV0pKSB7XG4gICAgICB3aW5kb3dzW2N1cnJlbnRXaW5kb3dOYW1lXSA9IFtdO1xuICAgIH1cbiAgICB3aW5kb3dzW2N1cnJlbnRXaW5kb3dOYW1lXS5wdXNoKGxpbmUpO1xuICB9XG4gIGlmIChfLmlzRW1wdHkod2luZG93cykpIHtcbiAgICBsb2c/LmRlYnVnKGxpbmVzLmpvaW4oJ1xcbicpKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBwYXJzZSBhbnkgd2luZG93IGluZm9ybWF0aW9uIGZyb20gdGhlIGR1bXBzeXMgb3V0cHV0Jyk7XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSB7c3RhdHVzQmFyOiBudWxsLCBuYXZpZ2F0aW9uQmFyOiBudWxsfTtcbiAgZm9yIChjb25zdCBbbmFtZSwgcHJvcHNdIG9mIF8udG9QYWlycyh3aW5kb3dzKSkge1xuICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoU1RBVFVTX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVgpKSB7XG4gICAgICByZXN1bHQuc3RhdHVzQmFyID0gcGFyc2VXaW5kb3dQcm9wZXJ0aWVzKG5hbWUsIHByb3BzLCBsb2cpO1xuICAgIH0gZWxzZSBpZiAobmFtZS5zdGFydHNXaXRoKE5BVklHQVRJT05fQkFSX1dJTkRPV19OQU1FX1BSRUZJWCkpIHtcbiAgICAgIHJlc3VsdC5uYXZpZ2F0aW9uQmFyID0gcGFyc2VXaW5kb3dQcm9wZXJ0aWVzKG5hbWUsIHByb3BzLCBsb2cpO1xuICAgIH1cbiAgfVxuICBjb25zdCB1bm1hdGNoZWRXaW5kb3dzID0gW1xuICAgIFsnc3RhdHVzQmFyJywgU1RBVFVTX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVhdLFxuICAgIFsnbmF2aWdhdGlvbkJhcicsIE5BVklHQVRJT05fQkFSX1dJTkRPV19OQU1FX1BSRUZJWF1cbiAgXS5maWx0ZXIoKFtuYW1lXSkgPT4gXy5pc05pbChyZXN1bHRbbmFtZV0pKTtcbiAgZm9yIChjb25zdCBbd2luZG93LCBuYW1lUHJlZml4XSBvZiB1bm1hdGNoZWRXaW5kb3dzKSB7XG4gICAgbG9nPy5pbmZvKGBObyB3aW5kb3dzIGhhdmUgYmVlbiBmb3VuZCB3aG9zZSB0aXRsZSBtYXRjaGVzIHRvIGAgK1xuICAgICAgYCcke25hbWVQcmVmaXh9Jy4gQXNzdW1pbmcgaXQgaXMgaW52aXNpYmxlLiBgICtcbiAgICAgIGBPbmx5IHRoZSBmb2xsb3dpbmcgd2luZG93cyBhcmUgYXZhaWxhYmxlOiAke18ua2V5cyh3aW5kb3dzKX1gKTtcbiAgICByZXN1bHRbd2luZG93XSA9IF8uY2xvbmVEZWVwKERFRkFVTFRfV0lORE9XX1BST1BFUlRJRVMpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmNvbW1hbmRzLmdldFN5c3RlbUJhcnMgPSBhc3luYyBmdW5jdGlvbiBnZXRTeXN0ZW1CYXJzICgpIHtcbiAgbGV0IHN0ZG91dDtcbiAgdHJ5IHtcbiAgICBzdGRvdXQgPSBhd2FpdCB0aGlzLmFkYi5zaGVsbChbJ2R1bXBzeXMnLCAnd2luZG93JywgJ3dpbmRvd3MnXSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXRyaWV2ZSBzeXN0ZW0gYmFycyBkZXRhaWxzLiBPcmlnaW5hbCBlcnJvcjogJHtlLm1lc3NhZ2V9YCk7XG4gIH1cbiAgcmV0dXJuIHBhcnNlV2luZG93cyhzdGRvdXQsIHRoaXMubG9nKTtcbn07XG5cbi8vIGZvciB1bml0IHRlc3RzXG5leHBvcnQgeyBwYXJzZVdpbmRvd3MsIHBhcnNlV2luZG93UHJvcGVydGllcyB9O1xuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxNQUFNQSxvQkFBb0IsR0FBRyx3REFBN0I7QUFDQSxNQUFNQyxhQUFhLEdBQUcsZ0VBQXRCO0FBQ0EsTUFBTUMsZUFBZSxHQUFHLG1DQUF4QjtBQUNBLE1BQU1DLDZCQUE2QixHQUFHLFdBQXRDO0FBQ0EsTUFBTUMsaUNBQWlDLEdBQUcsZUFBMUM7QUFDQSxNQUFNQyx5QkFBeUIsR0FBRztFQUNoQ0MsT0FBTyxFQUFFLEtBRHVCO0VBRWhDQyxDQUFDLEVBQUUsQ0FGNkI7RUFFMUJDLENBQUMsRUFBRSxDQUZ1QjtFQUVwQkMsS0FBSyxFQUFFLENBRmE7RUFFVkMsTUFBTSxFQUFFO0FBRkUsQ0FBbEM7QUFLQSxNQUFNQyxRQUFRLEdBQUcsRUFBakI7O0FBcUJBLFNBQVNDLHFCQUFULENBQWdDQyxJQUFoQyxFQUFzQ0MsS0FBdEMsRUFBNkNDLEdBQUcsR0FBRyxJQUFuRCxFQUF5RDtFQUN2RCxNQUFNQyxNQUFNLEdBQUdDLGVBQUEsQ0FBRUMsU0FBRixDQUFZ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
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbW1hbmRzL3N5c3RlbS1iYXJzLmpzIiwibmFtZXMiOlsiV0lORE9XX1RJVExFX1BBVFRFUk4iLCJGUkFNRV9QQVRURVJOIiwiVklFV19WSVNJQklMSVRZX1BBVFRFUk4iLCJWSUVXX1ZJU0lCTEUiLCJTVEFUVVNfQkFSX1dJTkRPV19OQU1FX1BSRUZJWCIsIk5BVklHQVRJT05fQkFSX1dJTkRPV19OQU1FX1BSRUZJWCIsIkRFRkFVTFRfV0lORE9XX1BST1BFUlRJRVMiLCJ2aXNpYmxlIiwieCIsInkiLCJ3aWR0aCIsImhlaWdodCIsImNvbW1hbmRzIiwicGFyc2VXaW5kb3dQcm9wZXJ0aWVzIiwibmFtZSIsInByb3BzIiwibG9nIiwicmVzdWx0IiwiXyIsImNsb25lRGVlcCIsInByb3BMaW5lcyIsImpvaW4iLCJmcmFtZU1hdGNoIiwiZXhlYyIsImRlYnVnIiwiRXJyb3IiLCJwYXJzZUZsb2F0IiwidmlzaWJpbGl0eU1hdGNoIiwicGFyc2VJbnQiLCJwYXJzZVdpbmRvd3MiLCJsaW5lcyIsIndpbmRvd3MiLCJjdXJyZW50V2luZG93TmFtZSIsImxpbmUiLCJzcGxpdCIsIm1hcCIsInRyaW1FbmQiLCJtYXRjaCIsInRyaW0iLCJsZW5ndGgiLCJpc0FycmF5IiwicHVzaCIsImlzRW1wdHkiLCJzdGF0dXNCYXIiLCJuYXZpZ2F0aW9uQmFyIiwidG9QYWlycyIsInN0YXJ0c1dpdGgiLCJ1bm1hdGNoZWRXaW5kb3dzIiwiZmlsdGVyIiwiaXNOaWwiLCJ3aW5kb3ciLCJuYW1lUHJlZml4IiwiaW5mbyIsImtleXMiLCJnZXRTeXN0ZW1CYXJzIiwic3Rkb3V0IiwiYWRiIiwic2hlbGwiLCJlIiwibWVzc2FnZSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9jb21tYW5kcy9zeXN0ZW0tYmFycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCBXSU5ET1dfVElUTEVfUEFUVEVSTiA9IC9eXFxzK1dpbmRvd1xccyNcXGQrXFxzV2luZG93XFx7WzAtOWEtZl0rXFxzXFx3K1xccyhbXFx3LV0rKVxcfTokLztcbmNvbnN0IEZSQU1FX1BBVFRFUk4gPSAvXFxibT9bRmZdcmFtZT1cXFsoWzAtOS4tXSspLChbMC05Li1dKylcXF1cXFsoWzAtOS4tXSspLChbMC05Li1dKylcXF0vO1xuY29uc3QgVklFV19WSVNJQklMSVRZX1BBVFRFUk4gPSAvXFxibVZpZXdWaXNpYmlsaXR5PSgweFswLTlhLWZBLUZdKykvO1xuLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvdmlldy9WaWV3I1ZJU0lCTEVcbmNvbnN0IFZJRVdfVklTSUJMRSA9IDB4MDtcbmNvbnN0IFNUQVRVU19CQVJfV0lORE9XX05BTUVfUFJFRklYID0gJ1N0YXR1c0Jhcic7XG5jb25zdCBOQVZJR0FUSU9OX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVggPSAnTmF2aWdhdGlvbkJhcic7XG5jb25zdCBERUZBVUxUX1dJTkRPV19QUk9QRVJUSUVTID0ge1xuICB2aXNpYmxlOiBmYWxzZSxcbiAgeDogMCwgeTogMCwgd2lkdGg6IDAsIGhlaWdodDogMCxcbn07XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gV2luZG93UHJvcGVydGllc1xuICogQHByb3BlcnR5IHtib29sZWFufSB2aXNpYmxlIFdoZXRoZXIgdGhlIHdpbmRvdyBpcyB2aXNpYmxlXG4gKiBAcHJvcGVydHkge251bWJlcn0geCBXaW5kb3cgeCBjb29yZGluYXRlXG4gKiBAcHJvcGVydHkge251bWJlcn0geSBXaW5kb3cgeSBjb29yZGluYXRlXG4gKiBAcHJvcGVydHkge251bWJlcn0gd2lkdGggV2luZG93IHdpZHRoXG4gKiBAcHJvcGVydHkge251bWJlcn0gaGVpZ2h0IFdpbmRvdyBoZWlnaHRcbiAqL1xuXG4vKipcbiAqIFBhcnNlcyB3aW5kb3cgcHJvcGVydGllcyBmcm9tIGFkYiBkdW1wc3lzIG91dHB1dFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB3aW5kb3cgd2hvc2UgcHJvcGVydGllcyBhcmUgYmVpbmcgcGFyc2VkXG4gKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IHByb3BzIFRoZSBsaXN0IG9mIHBhcnRpY3VsYXIgd2luZG93IHByb3BlcnR5IGxpbmVzLlxuICogQ2hlY2sgdGhlIGNvcnJlc3BvbmRpbmcgdW5pdCB0ZXN0cyBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBpbnB1dCBmb3JtYXQuXG4gKiBAcGFyYW0ge09iamVjdD99IGxvZyBMb2dnZXIgaW5zdGFuY2VcbiAqIEByZXR1cm5zIHtXaW5kb3dQcm9wZXJ0aWVzfSBQYXJzZWQgcHJvcGVydGllcyBvYmplY3RcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGVyZSB3YXMgYW4gaXNzdWUgd2hpbGUgcGFyc2luZyB0aGUgcHJvcGVydGllcyBzdHJpbmdcbiAqL1xuZnVuY3Rpb24gcGFyc2VXaW5kb3dQcm9wZXJ0aWVzIChuYW1lLCBwcm9wcywgbG9nID0gbnVsbCkge1xuICBjb25zdCByZXN1bHQgPSBfLmNsb25lRGVlcChERUZBVUxUX1dJTkRPV19QUk9QRVJUSUVTKTtcbiAgY29uc3QgcHJvcExpbmVzID0gcHJvcHMuam9pbignXFxuJyk7XG4gIGNvbnN0IGZyYW1lTWF0Y2ggPSBGUkFNRV9QQVRURVJOLmV4ZWMocHJvcExpbmVzKTtcbiAgaWYgKCFmcmFtZU1hdGNoKSB7XG4gICAgbG9nPy5kZWJ1Zyhwcm9wTGluZXMpO1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHBhcnNlIHRoZSBmcmFtZSBzaXplIGZyb20gJyR7bmFtZX0nIHdpbmRvdyBwcm9wZXJ0aWVzYCk7XG4gIH1cbiAgcmVzdWx0LnggPSBwYXJzZUZsb2F0KGZyYW1lTWF0Y2hbMV0pO1xuICByZXN1bHQueSA9IHBhcnNlRmxvYXQoZnJhbWVNYXRjaFsyXSk7XG4gIHJlc3VsdC53aWR0aCA9IHBhcnNlRmxvYXQoZnJhbWVNYXRjaFszXSkgLSByZXN1bHQueDtcbiAgcmVzdWx0LmhlaWdodCA9IHBhcnNlRmxvYXQoZnJhbWVNYXRjaFs0XSkgLSByZXN1bHQueTtcbiAgY29uc3QgdmlzaWJpbGl0eU1hdGNoID0gVklFV19WSVNJQklMSVRZX1BBVFRFUk4uZXhlYyhwcm9wTGluZXMpO1xuICBpZiAoIXZpc2liaWxpdHlNYXRjaCkge1xuICAgIGxvZz8uZGVidWcocHJvcExpbmVzKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBwYXJzZSB0aGUgdmlzaWJpbGl0eSB2YWx1ZSBmcm9tICcke25hbWV9JyB3aW5kb3cgcHJvcGVydGllc2ApO1xuICB9XG4gIHJlc3VsdC52aXNpYmxlID0gcGFyc2VJbnQodmlzaWJpbGl0eU1hdGNoWzFdLCAxNikgPT09IFZJRVdfVklTSUJMRTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyBzdGF0dXMgYW5kIG5hdmlnYXRpb24gYmFyIGluZm9ybWF0aW9uIGZyb20gdGhlIHdpbmRvdyBtYW5hZ2VyIG91dHB1dC5cbiAqXG4gKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IGxpbmVzIE91dHB1dCBmcm9tIGR1bXBzeXMgY29tbWFuZC5cbiAqIENoZWNrIHRoZSBjb3JyZXNwb25kaW5nIHVuaXQgdGVzdHMgZm9yIG1vcmUgZGV0YWlscyBvbiB0aGUgaW5wdXQgZm9ybWF0LlxuICogQHBhcmFtIHtPYmplY3Q/fSBsb2cgTG9nZ2VyIGluc3RhbmNlXG4gKiBAcmV0dXJuIHtPYmplY3R9IEFuIG9iamVjdCBjb250YWluaW5nIHR3byBpdGVtcyB3aGVyZSBrZXlzIGFyZSBzdGF0dXNCYXIgYW5kIG5hdmlnYXRpb25CYXIsXG4gKiBhbmQgdmFsdWVzIGFyZSBjb3JyZXNwb25kaW5nIFdpbmRvd1Byb3BlcnRpZXMgb2JqZWN0c1xuICogQHRocm93cyB7RXJyb3J9IElmIG5vIHdpbmRvdyBwcm9wZXJ0aWVzIGNvdWxkIGJlIHBhcnNlZFxuICovXG5mdW5jdGlvbiBwYXJzZVdpbmRvd3MgKGxpbmVzLCBsb2cgPSBudWxsKSB7XG4gIGNvbnN0IHdpbmRvd3MgPSB7fTtcbiAgbGV0IGN1cnJlbnRXaW5kb3dOYW1lID0gbnVsbDtcbiAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzLnNwbGl0KCdcXG4nKS5tYXAoXy50cmltRW5kKSkge1xuICAgIGNvbnN0IG1hdGNoID0gV0lORE9XX1RJVExFX1BBVFRFUk4uZXhlYyhsaW5lKTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGN1cnJlbnRXaW5kb3dOYW1lID0gbWF0Y2hbMV07XG4gICAgICB3aW5kb3dzW2N1cnJlbnRXaW5kb3dOYW1lXSA9IFtdO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChfLnRyaW0obGluZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICBjdXJyZW50V2luZG93TmFtZSA9IG51bGw7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudFdpbmRvd05hbWUgJiYgXy5pc0FycmF5KHdpbmRvd3NbY3VycmVudFdpbmRvd05hbWVdKSkge1xuICAgICAgd2luZG93c1tjdXJyZW50V2luZG93TmFtZV0ucHVzaChsaW5lKTtcbiAgICB9XG4gIH1cbiAgaWYgKF8uaXNFbXB0eSh3aW5kb3dzKSkge1xuICAgIGxvZz8uZGVidWcobGluZXMuam9pbignXFxuJykpO1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHBhcnNlIGFueSB3aW5kb3cgaW5mb3JtYXRpb24gZnJvbSB0aGUgZHVtcHN5cyBvdXRwdXQnKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHtzdGF0dXNCYXI6IG51bGwsIG5hdmlnYXRpb25CYXI6IG51bGx9O1xuICBmb3IgKGNvbnN0IFtuYW1lLCBwcm9wc10gb2YgXy50b1BhaXJzKHdpbmRvd3MpKSB7XG4gICAgaWYgKG5hbWUuc3RhcnRzV2l0aChTVEFUVVNfQkFSX1dJTkRPV19OQU1FX1BSRUZJWCkpIHtcbiAgICAgIHJlc3VsdC5zdGF0dXNCYXIgPSBwYXJzZVdpbmRvd1Byb3BlcnRpZXMobmFtZSwgcHJvcHMsIGxvZyk7XG4gICAgfSBlbHNlIGlmIChuYW1lLnN0YXJ0c1dpdGgoTkFWSUdBVElPTl9CQVJfV0lORE9XX05BTUVfUFJFRklYKSkge1xuICAgICAgcmVzdWx0Lm5hdmlnYXRpb25CYXIgPSBwYXJzZVdpbmRvd1Byb3BlcnRpZXMobmFtZSwgcHJvcHMsIGxvZyk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHVubWF0Y2hlZFdpbmRvd3MgPSBbXG4gICAgWydzdGF0dXNCYXInLCBTVEFUVVNfQkFSX1dJTkRPV19OQU1FX1BSRUZJWF0sXG4gICAgWyduYXZpZ2F0aW9uQmFyJywgTkFWSUdBVElPTl9CQVJfV0lORE9XX05BTUVfUFJFRklYXVxuICBdLmZpbHRlcigoW25hbWVdKSA9PiBfLmlzTmlsKHJlc3VsdFtuYW1lXSkpO1xuICBmb3IgKGNvbnN0IFt3aW5kb3csIG5hbWVQcmVmaXhdIG9mIHVubWF0Y2hlZFdpbmRvd3MpIHtcbiAgICBsb2c/LmluZm8oYE5vIHdpbmRvd3MgaGF2ZSBiZWVuIGZvdW5kIHdob3NlIHRpdGxlIG1hdGNoZXMgdG8gYCArXG4gICAgICBgJyR7bmFtZVByZWZpeH0nLiBBc3N1bWluZyBpdCBpcyBpbnZpc2libGUuIGAgK1xuICAgICAgYE9ubHkgdGhlIGZvbGxvd2luZyB3aW5kb3dzIGFyZSBhdmFpbGFibGU6ICR7Xy5rZXlzKHdpbmRvd3MpfWApO1xuICAgIHJlc3VsdFt3aW5kb3ddID0gXy5jbG9uZURlZXAoREVGQVVMVF9XSU5ET1dfUFJPUEVSVElFUyk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuY29tbWFuZHMuZ2V0U3lzdGVtQmFycyA9IGFzeW5jIGZ1bmN0aW9uIGdldFN5c3RlbUJhcnMgKCkge1xuICBsZXQgc3Rkb3V0O1xuICB0cnkge1xuICAgIHN0ZG91dCA9IGF3YWl0IHRoaXMuYWRiLnNoZWxsKFsnZHVtcHN5cycsICd3aW5kb3cnLCAnd2luZG93cyddKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJldHJpZXZlIHN5c3RlbSBiYXJzIGRldGFpbHMuIE9yaWdpbmFsIGVycm9yOiAke2UubWVzc2FnZX1gKTtcbiAgfVxuICByZXR1cm4gcGFyc2VXaW5kb3dzKHN0ZG91dCwgdGhpcy5sb2cpO1xufTtcblxuLy8gZm9yIHVuaXQgdGVzdHNcbmV4cG9ydCB7IHBhcnNlV2luZG93cywgcGFyc2VXaW5kb3dQcm9wZXJ0aWVzIH07XG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLG9CQUFvQixHQUFHLHdEQUE3QjtBQUNBLE1BQU1DLGFBQWEsR0FBRyxpRUFBdEI7QUFDQSxNQUFNQyx1QkFBdUIsR0FBRyxvQ0FBaEM7QUFFQSxNQUFNQyxZQUFZLEdBQUcsR0FBckI7QUFDQSxNQUFNQyw2QkFBNkIsR0FBRyxXQUF0QztBQUNBLE1BQU1DLGlDQUFpQyxHQUFHLGVBQTFDO0FBQ0EsTUFBTUMseUJBQXlCLEdBQUc7RUFDaENDLE9BQU8sRUFBRSxLQUR1QjtFQUVoQ0MsQ0FBQyxFQUFFLENBRjZCO0VBRTFCQyxDQUFDLEVBQUUsQ0FGdUI7RUFFcEJDLEtBQUssRUFBRSxDQUZhO0VBRVZDLE1BQU0sRUFBRTtBQUZFLENBQWxDO0FBS0EsTUFBTUMsUUFBUSxHQUFHLEVBQWpCOztBQXFCQSxTQUFTQyxxQkFBVCxDQUFnQ0MsSUFBaEMsRUFBc0NDLEtBQXRDLEVBQTZDQyxHQUFHLEdBQUcsSUFBbkQsRUFBeUQ7RUFDdkQsTUFBTUMsTUFBTSxHQUFHQyxlQUFBLENBQUVDLFNBQUYsQ0FBWWIseUJBQVosQ0FBZjs7RUFDQSxNQUFNYyxTQUFTLEdBQUdMLEtBQUssQ0FBQ00sSUFBTixDQUFXLElBQVgsQ0FBbEI7RUFDQSxNQUFNQyxVQUFVLEdBQUdyQixhQUFhLENBQUNzQixJQUFkLENBQW1CSCxTQUFuQixDQUFuQjs7RUFDQSxJQUFJLENBQUNFLFVBQUwsRUFBaUI7SUFDZk4sR0FBRyxTQUFILElB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
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
|
|
3
3
|
const WINDOW_TITLE_PATTERN = /^\s+Window\s#\d+\sWindow\{[0-9a-f]+\s\w+\s([\w-]+)\}:$/;
|
|
4
|
-
const FRAME_PATTERN =
|
|
5
|
-
const
|
|
4
|
+
const FRAME_PATTERN = /\bm?[Ff]rame=\[([0-9.-]+),([0-9.-]+)\]\[([0-9.-]+),([0-9.-]+)\]/;
|
|
5
|
+
const VIEW_VISIBILITY_PATTERN = /\bmViewVisibility=(0x[0-9a-fA-F]+)/;
|
|
6
|
+
// https://developer.android.com/reference/android/view/View#VISIBLE
|
|
7
|
+
const VIEW_VISIBLE = 0x0;
|
|
6
8
|
const STATUS_BAR_WINDOW_NAME_PREFIX = 'StatusBar';
|
|
7
9
|
const NAVIGATION_BAR_WINDOW_NAME_PREFIX = 'NavigationBar';
|
|
8
10
|
const DEFAULT_WINDOW_PROPERTIES = {
|
|
@@ -43,12 +45,12 @@ function parseWindowProperties (name, props, log = null) {
|
|
|
43
45
|
result.y = parseFloat(frameMatch[2]);
|
|
44
46
|
result.width = parseFloat(frameMatch[3]) - result.x;
|
|
45
47
|
result.height = parseFloat(frameMatch[4]) - result.y;
|
|
46
|
-
const visibilityMatch =
|
|
48
|
+
const visibilityMatch = VIEW_VISIBILITY_PATTERN.exec(propLines);
|
|
47
49
|
if (!visibilityMatch) {
|
|
48
50
|
log?.debug(propLines);
|
|
49
51
|
throw new Error(`Cannot parse the visibility value from '${name}' window properties`);
|
|
50
52
|
}
|
|
51
|
-
result.visible = visibilityMatch[1] ===
|
|
53
|
+
result.visible = parseInt(visibilityMatch[1], 16) === VIEW_VISIBLE;
|
|
52
54
|
return result;
|
|
53
55
|
}
|
|
54
56
|
|
|
@@ -65,29 +67,21 @@ function parseWindowProperties (name, props, log = null) {
|
|
|
65
67
|
function parseWindows (lines, log = null) {
|
|
66
68
|
const windows = {};
|
|
67
69
|
let currentWindowName = null;
|
|
68
|
-
let windowNameRowIndent = null;
|
|
69
70
|
for (const line of lines.split('\n').map(_.trimEnd)) {
|
|
70
|
-
const
|
|
71
|
-
if (
|
|
72
|
-
const match = WINDOW_TITLE_PATTERN.exec(line);
|
|
73
|
-
if (!match) {
|
|
74
|
-
currentWindowName = null;
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
71
|
+
const match = WINDOW_TITLE_PATTERN.exec(line);
|
|
72
|
+
if (match) {
|
|
77
73
|
currentWindowName = match[1];
|
|
78
|
-
|
|
79
|
-
windowNameRowIndent = currentIndent;
|
|
80
|
-
}
|
|
74
|
+
windows[currentWindowName] = [];
|
|
81
75
|
continue;
|
|
82
76
|
}
|
|
83
|
-
if (
|
|
77
|
+
if (_.trim(line).length === 0) {
|
|
78
|
+
currentWindowName = null;
|
|
84
79
|
continue;
|
|
85
80
|
}
|
|
86
81
|
|
|
87
|
-
if (
|
|
88
|
-
windows[currentWindowName]
|
|
82
|
+
if (currentWindowName && _.isArray(windows[currentWindowName])) {
|
|
83
|
+
windows[currentWindowName].push(line);
|
|
89
84
|
}
|
|
90
|
-
windows[currentWindowName].push(line);
|
|
91
85
|
}
|
|
92
86
|
if (_.isEmpty(windows)) {
|
|
93
87
|
log?.debug(lines.join('\n'));
|