appium-android-driver 9.6.1 → 9.6.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## [9.6.3](https://github.com/appium/appium-android-driver/compare/v9.6.2...v9.6.3) (2024-06-07)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Add proper timestamps to server logs ([#938](https://github.com/appium/appium-android-driver/issues/938)) ([428a6b8](https://github.com/appium/appium-android-driver/commit/428a6b8cac0655b1fc5b40d65e50191b0cd3583b))
7
+
8
+ ## [9.6.2](https://github.com/appium/appium-android-driver/compare/v9.6.1...v9.6.2) (2024-05-16)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * typo ([a2260ca](https://github.com/appium/appium-android-driver/commit/a2260ca96bd112176b4093b804481736d7f22741))
14
+
15
+
16
+ ### Miscellaneous Chores
17
+
18
+ * Improve the error message shown if an unsupported device locale is provided ([#937](https://github.com/appium/appium-android-driver/issues/937)) ([757a14a](https://github.com/appium/appium-android-driver/commit/757a14a653e22591eb0ba4f32329a95acd401a19))
19
+
1
20
  ## [9.6.1](https://github.com/appium/appium-android-driver/compare/v9.6.0...v9.6.1) (2024-05-16)
2
21
 
3
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../lib/commands/log.js"],"names":[],"mappings":"AAqDA;;;;;;;;;;GAUG;AACH,mFAFa,QAAQ,IAAI,CAAC,CAwDzB;;IA3BK,+FAIC;;AAyBP;;;;;;GAMG;AACH,kFAFa,QAAQ,IAAI,CAAC,CAczB;AAED;;;GAGG;AACH,sEAFa,QAAQ,MAAM,EAAE,CAAC,CAc7B;AAED;;;;GAIG;AACH,yEAHW,MAAM,GACJ,QAAQ,GAAG,CAAC,CAUxB;;;;QA7JW,mEAAuD;;;;;QASvD;;;;aAIP;;;;;;QASO;;;;YAYP;;;;kBAwJQ,OAAO,YAAY,EAAE,GAAG"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../lib/commands/log.js"],"names":[],"mappings":"AAmDA;;;;;;;;;;GAUG;AACH,mFAFa,QAAQ,IAAI,CAAC,CAwDzB;;IA3BK,+FAIC;;AAyBP;;;;;;GAMG;AACH,kFAFa,QAAQ,IAAI,CAAC,CAczB;AAED;;;GAGG;AACH,sEAFa,QAAQ,MAAM,EAAE,CAAC,CAc7B;AAED;;;;GAIG;AACH,yEAHW,MAAM,GACJ,QAAQ,GAAG,CAAC,CAUxB;;;;QA3JW,mEAAuD;;;;;QASvD;;;;aAIP;;;;;;QASO;;;;YAUP;;;;kBAwJQ,OAAO,YAAY,EAAE,GAAG"}
@@ -41,10 +41,10 @@ exports.supportedLogTypes = {
41
41
  */
42
42
  getter: (self) => {
43
43
  self.ensureFeatureEnabled(GET_SERVER_LOGS_FEATURE);
44
- const timestamp = Date.now();
45
44
  return self.log
46
45
  .unwrap()
47
- .record.map((x) => toLogRecord(timestamp, 'ALL', lodash_1.default.isEmpty(x.prefix) ? x.message : `[${x.prefix}] ${x.message}`));
46
+ .record.map((x) => toLogRecord(
47
+ /** @type {any} */ (x).timestamp ?? Date.now(), 'ALL', lodash_1.default.isEmpty(x.prefix) ? x.message : `[${x.prefix}] ${x.message}`));
48
48
  },
49
49
  },
50
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../lib/commands/log.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../lib/commands/log.js"],"names":[],"mappings":"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"}
@@ -12,5 +12,10 @@ export function getStrings(this: import("../driver").AndroidDriver, language?: s
12
12
  * @returns {Promise<void>}}
13
13
  */
14
14
  export function ensureDeviceLocale(this: import("../driver").AndroidDriver, language: string, country: string, script?: string | undefined): Promise<void>;
15
+ export type Locale = {
16
+ language: string;
17
+ country: string;
18
+ script?: string | undefined;
19
+ };
15
20
  export type ADB = import('appium-adb').ADB;
16
21
  //# sourceMappingURL=resources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../lib/commands/resources.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,2GAFa,QAAQ,OAAO,eAAe,EAAE,YAAY,CAAC,CAqBzD;AAED;;;;;;GAMG;AACH,sFALW,MAAM,WACN,MAAM,gCAEJ,QAAQ,IAAI,CAAC,CAWzB;kBA2CY,OAAO,YAAY,EAAE,GAAG"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../lib/commands/resources.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,2GAFa,QAAQ,OAAO,eAAe,EAAE,YAAY,CAAC,CAqBzD;AAED;;;;;;GAMG;AACH,sFALW,MAAM,WACN,MAAM,gCAEJ,QAAQ,IAAI,CAAC,CAwBzB;;cA0Ca,MAAM;aACN,MAAM;;;kBAgCP,OAAO,YAAY,EAAE,GAAG"}
@@ -38,12 +38,27 @@ exports.getStrings = getStrings;
38
38
  * @returns {Promise<void>}}
39
39
  */
40
40
  async function ensureDeviceLocale(language, country, script) {
41
- await this.settingsApp.setDeviceLocale(language, country, script);
42
- if (!(await this.adb.ensureCurrentLocale(language, country, script))) {
43
- const message = script
44
- ? `language: ${language}, country: ${country} and script: ${script}`
45
- : `language: ${language} and country: ${country}`;
46
- throw new Error(`Failed to set ${message}`);
41
+ try {
42
+ await this.settingsApp.setDeviceLocale(language, country, script);
43
+ if (!(await this.adb.ensureCurrentLocale(language, country, script))) {
44
+ throw new Error('Locale verification has failed');
45
+ }
46
+ }
47
+ catch (e) {
48
+ this.log.debug(e.stack);
49
+ let errMsg = `Cannot set the device locale to '${toLocaleAbbr({ language, country, script })}'.`;
50
+ /** @type {string[]} */
51
+ let suggestions = [];
52
+ try {
53
+ suggestions = (await fetchLocaleSuggestions.bind(this)(language, country)).map(toLocaleAbbr);
54
+ }
55
+ catch (e1) {
56
+ this.log.debug(e1.stack);
57
+ }
58
+ if (!lodash_1.default.isEmpty(suggestions)) {
59
+ errMsg += ` You may want to apply one of the following locales instead: ${suggestions}`;
60
+ }
61
+ throw new Error(errMsg);
47
62
  }
48
63
  }
49
64
  exports.ensureDeviceLocale = ensureDeviceLocale;
@@ -80,6 +95,33 @@ async function extractStringsFromResources(language, opts = null) {
80
95
  }
81
96
  }
82
97
  }
98
+ /**
99
+ * @typedef {Object} Locale
100
+ * @property {string} language
101
+ * @property {string} country
102
+ * @property {string} [script]
103
+ */
104
+ /**
105
+ * @this {import('../driver').AndroidDriver}
106
+ * @param {string} [language]
107
+ * @param {string} [country]
108
+ * @returns {Promise<Locale[]>}
109
+ */
110
+ async function fetchLocaleSuggestions(language, country) {
111
+ const supportedLocales = await this.settingsApp.listSupportedLocales();
112
+ const suggestedLocales = supportedLocales
113
+ .filter((locale) => lodash_1.default.toLower(language) === lodash_1.default.toLower(locale.language)
114
+ || lodash_1.default.toLower(country) === lodash_1.default.toLower(locale.country));
115
+ return lodash_1.default.isEmpty(suggestedLocales) ? supportedLocales : suggestedLocales;
116
+ }
117
+ /**
118
+ *
119
+ * @param {Locale} locale
120
+ * @returns {string}
121
+ */
122
+ function toLocaleAbbr({ language, country, script }) {
123
+ return `${language}_${country}${script ? ('-' + script) : ''}`;
124
+ }
83
125
  // #endregion
84
126
  /**
85
127
  * @typedef {import('appium-adb').ADB} ADB
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../lib/commands/resources.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../lib/commands/resources.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,6CAA4C;AAE5C;;;;GAIG;AACI,KAAK,UAAU,UAAU,CAAC,QAAQ,GAAG,IAAI;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iDAAiD,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,0DAA0D;IAC1D,4BAA4B;IAC5B,4DAA4D;IAC5D,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,EAAE;QACvC,mDAAmD;QACnD,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,oBAAoB,CAAC,MAAM,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtF,CAAC;AAnBD,gCAmBC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM;IAChE,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAElE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,MAAM,GAAG,oCAAoC,YAAY,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,IAAI,CAAC;QAC/F,uBAAuB;QACvB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,WAAW,GAAG,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,gEAAgE,WAAW,EAAE,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAtBD,gDAsBC;AAED,2BAA2B;AAE3B;;;;;GAKG;AACH,KAAK,UAAU,2BAA2B,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAC9D,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;IAE/B,+BAA+B;IAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACnB,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,8DAA8D,IAAI,CAAC,UAAU,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAC/G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;IAClF,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AAEH;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB,CAAC,QAAQ,EAAE,OAAO;IACrD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;IACvE,MAAM,gBAAgB,GAAG,gBAAgB;SACtC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACjB,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;WAC/C,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CACpD,CAAC;IACJ,OAAO,gBAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAC;IAC/C,OAAO,GAAG,QAAQ,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACjE,CAAC;AAED,aAAa;AAEb;;GAEG"}
@@ -37,12 +37,10 @@ export const supportedLogTypes = {
37
37
  */
38
38
  getter: (self) => {
39
39
  self.ensureFeatureEnabled(GET_SERVER_LOGS_FEATURE);
40
- const timestamp = Date.now();
41
40
  return self.log
42
41
  .unwrap()
43
- .record.map((x) =>
44
- toLogRecord(
45
- timestamp,
42
+ .record.map((x) => toLogRecord(
43
+ /** @type {any} */ (x).timestamp ?? Date.now(),
46
44
  'ALL',
47
45
  _.isEmpty(x.prefix) ? x.message : `[${x.prefix}] ${x.message}`,
48
46
  ),
@@ -35,13 +35,26 @@ export async function getStrings(language = null) {
35
35
  * @returns {Promise<void>}}
36
36
  */
37
37
  export async function ensureDeviceLocale(language, country, script) {
38
- await this.settingsApp.setDeviceLocale(language, country, script);
38
+ try {
39
+ await this.settingsApp.setDeviceLocale(language, country, script);
39
40
 
40
- if (!(await this.adb.ensureCurrentLocale(language, country, script))) {
41
- const message = script
42
- ? `language: ${language}, country: ${country} and script: ${script}`
43
- : `language: ${language} and country: ${country}`;
44
- throw new Error(`Failed to set ${message}`);
41
+ if (!(await this.adb.ensureCurrentLocale(language, country, script))) {
42
+ throw new Error('Locale verification has failed');
43
+ }
44
+ } catch (e) {
45
+ this.log.debug(e.stack);
46
+ let errMsg = `Cannot set the device locale to '${toLocaleAbbr({language, country, script})}'.`;
47
+ /** @type {string[]} */
48
+ let suggestions = [];
49
+ try {
50
+ suggestions = (await fetchLocaleSuggestions.bind(this)(language, country)).map(toLocaleAbbr);
51
+ } catch (e1) {
52
+ this.log.debug(e1.stack);
53
+ }
54
+ if (!_.isEmpty(suggestions)) {
55
+ errMsg += ` You may want to apply one of the following locales instead: ${suggestions}`;
56
+ }
57
+ throw new Error(errMsg);
45
58
  }
46
59
  }
47
60
 
@@ -83,6 +96,38 @@ async function extractStringsFromResources(language, opts = null) {
83
96
  }
84
97
  }
85
98
 
99
+ /**
100
+ * @typedef {Object} Locale
101
+ * @property {string} language
102
+ * @property {string} country
103
+ * @property {string} [script]
104
+ */
105
+
106
+ /**
107
+ * @this {import('../driver').AndroidDriver}
108
+ * @param {string} [language]
109
+ * @param {string} [country]
110
+ * @returns {Promise<Locale[]>}
111
+ */
112
+ async function fetchLocaleSuggestions(language, country) {
113
+ const supportedLocales = await this.settingsApp.listSupportedLocales();
114
+ const suggestedLocales = supportedLocales
115
+ .filter((locale) =>
116
+ _.toLower(language) === _.toLower(locale.language)
117
+ || _.toLower(country) === _.toLower(locale.country)
118
+ );
119
+ return _.isEmpty(suggestedLocales) ? supportedLocales : suggestedLocales;
120
+ }
121
+
122
+ /**
123
+ *
124
+ * @param {Locale} locale
125
+ * @returns {string}
126
+ */
127
+ function toLocaleAbbr({language, country, script}) {
128
+ return `${language}_${country}${script ? ('-' + script) : ''}`;
129
+ }
130
+
86
131
  // #endregion
87
132
 
88
133
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-android-driver",
3
- "version": "9.6.1",
3
+ "version": "9.6.3",
4
4
  "description": "Android UiAutomator and Chrome support for Appium",
5
5
  "keywords": [
6
6
  "appium",
@@ -55,7 +55,7 @@
55
55
  "asyncbox": "^3.0.0",
56
56
  "axios": "^1.x",
57
57
  "bluebird": "^3.4.7",
58
- "io.appium.settings": "^5.8.1",
58
+ "io.appium.settings": "^5.9.1",
59
59
  "lodash": "^4.17.4",
60
60
  "lru-cache": "^10.0.1",
61
61
  "moment": "^2.24.0",