io.appium.settings 5.14.5 → 5.14.7

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,15 @@
1
+ ## [5.14.7](https://github.com/appium/io.appium.settings/compare/v5.14.6...v5.14.7) (2025-04-22)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * Retry setting locale once to make sure hidden API policies were picked up ([#223](https://github.com/appium/io.appium.settings/issues/223)) ([2dd61fa](https://github.com/appium/io.appium.settings/commit/2dd61fa6ff080a143487a8f32569dc2d687d6327))
6
+
7
+ ## [5.14.6](https://github.com/appium/io.appium.settings/compare/v5.14.5...v5.14.6) (2025-04-22)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * **deps:** bump com.android.tools.build:gradle from 8.9.1 to 8.9.2 ([#222](https://github.com/appium/io.appium.settings/issues/222)) ([e882561](https://github.com/appium/io.appium.settings/commit/e882561ff5b0ceaf8139dab87fc324465a86715c))
12
+
1
13
  ## [5.14.5](https://github.com/appium/io.appium.settings/compare/v5.14.4...v5.14.5) (2025-03-26)
2
14
 
3
15
  ### Miscellaneous Chores
Binary file
@@ -17,6 +17,8 @@ export class SettingsApp {
17
17
  * to wait until the app has started
18
18
  * @property {boolean} [shouldRestoreCurrentApp=false] Whether to restore
19
19
  * the activity which was the current one before Settings startup
20
+ * @property {boolean} [forceRestart=false] Whether to forcefully restart
21
+ * the Settings app if it is already running
20
22
  */
21
23
  /**
22
24
  * Ensures that Appium Settings helper application is running
@@ -37,6 +39,11 @@ export class SettingsApp {
37
39
  * the activity which was the current one before Settings startup
38
40
  */
39
41
  shouldRestoreCurrentApp?: boolean | undefined;
42
+ /**
43
+ * Whether to forcefully restart
44
+ * the Settings app if it is already running
45
+ */
46
+ forceRestart?: boolean | undefined;
40
47
  }): Promise<SettingsApp>;
41
48
  /**
42
49
  * If the io.appium.settings package has running foreground service.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../lib/client.js"],"names":[],"mappings":"AAmBA;;;GAGG;AAGH;IAOE;;OAEG;IACH,kBAFW,eAAe,EAKzB;IAZD,uCAAuC;IACvC,KADW,OAAO,YAAY,EAAE,GAAG,CAC/B;IAEJ,8CAA8C;IAC9C,KADW,OAAO,gBAAgB,EAAE,MAAM,CACtC;IAUJ;;;;;;OAMG;IAEH;;;;;;;OAOG;IACH;;;;;;;;;;;QAFa,OAAO,CAAC,WAAW,CAAC,CA4ChC;IAED;;;;;;;OAOG;IACH,yBAFa,OAAO,CAAC,OAAO,CAAC,CAY5B;IAED;;;;;;;OAOG;IACH,qBALW,MAAM,EAAE,UACR,MAAM,sBACN,OAAO,GACL,OAAO,CAAC,MAAM,CAAC,CAgB3B;IAED;;;;;;;;;;OAUG;IACH,uBAPW,MAAM,cACN,MAAM,OAgChB;IAED,4CAAsC;IAEtC,4CAAsC;IACtC,4DAAsD;IAEtD,kCAA4B;IAE5B,sCAAgC;IAChC,sCAAgC;IAChC,wDAAkD;IAElD,kDAA4C;IAC5C,wCAAkC;IAElC,4BAAsB;IAEtB,kCAA4B;IAC5B,kCAA4B;IAE5B,0CAAoC;IACpC,sEAAgE;IAChE,8BAAwB;IAExB,gDAA0C;IAC1C,gCAA0B;IAE1B,gEAA0D;IAC1D,wFAAkF;CACnF;;SA9La,OAAO,YAAY,EAAE,GAAG;;kCAjBJ,sBAAsB;kCACK,sBAAsB;0CAAtB,sBAAsB;6BACtD,sBAAsB;+BACqB,wBAAwB;+BAAxB,wBAAwB;wCAAxB,wBAAwB;qCAC1C,mBAAmB;gCAAnB,mBAAmB;0BAC/C,kBAAkB;6BACD,oBAAoB;6BAApB,oBAAoB;iCACE,0BAA0B;+CAA1B,0BAA0B;2BAChE,gBAAgB;oCACM,mBAAmB;4BAAnB,mBAAmB;4CAI7D,6BAA6B;wDAA7B,6BAA6B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../lib/client.js"],"names":[],"mappings":"AAmBA;;;GAGG;AAGH;IAOE;;OAEG;IACH,kBAFW,eAAe,EAKzB;IAZD,uCAAuC;IACvC,KADW,OAAO,YAAY,EAAE,GAAG,CAC/B;IAEJ,8CAA8C;IAC9C,KADW,OAAO,gBAAgB,EAAE,MAAM,CACtC;IAUJ;;;;;;;;OAQG;IAEH;;;;;;;OAOG;IACH;;;;;;;;;;;;;;;;QAFa,OAAO,CAAC,WAAW,CAAC,CAgDhC;IAED;;;;;;;OAOG;IACH,yBAFa,OAAO,CAAC,OAAO,CAAC,CAY5B;IAED;;;;;;;OAOG;IACH,qBALW,MAAM,EAAE,UACR,MAAM,sBACN,OAAO,GACL,OAAO,CAAC,MAAM,CAAC,CAmB3B;IAED;;;;;;;;;;OAUG;IACH,uBAPW,MAAM,cACN,MAAM,OAgChB;IAED,4CAAsC;IAEtC,4CAAsC;IACtC,4DAAsD;IAEtD,kCAA4B;IAE5B,sCAAgC;IAChC,sCAAgC;IAChC,wDAAkD;IAElD,kDAA4C;IAC5C,wCAAkC;IAElC,4BAAsB;IAEtB,kCAA4B;IAC5B,kCAA4B;IAE5B,0CAAoC;IACpC,sEAAgE;IAChE,8BAAwB;IAExB,gDAA0C;IAC1C,gCAA0B;IAE1B,gEAA0D;IAC1D,wFAAkF;CACnF;;SAvMa,OAAO,YAAY,EAAE,GAAG;;kCAjBJ,sBAAsB;kCACK,sBAAsB;0CAAtB,sBAAsB;6BACtD,sBAAsB;+BACqB,wBAAwB;+BAAxB,wBAAwB;wCAAxB,wBAAwB;qCAC1C,mBAAmB;gCAAnB,mBAAmB;0BAC/C,kBAAkB;6BACD,oBAAoB;6BAApB,oBAAoB;iCACE,0BAA0B;+CAA1B,0BAA0B;2BAChE,gBAAgB;oCACM,mBAAmB;4BAAnB,mBAAmB;4CAI7D,6BAA6B;wDAA7B,6BAA6B"}
@@ -56,6 +56,8 @@ class SettingsApp {
56
56
  * to wait until the app has started
57
57
  * @property {boolean} [shouldRestoreCurrentApp=false] Whether to restore
58
58
  * the activity which was the current one before Settings startup
59
+ * @property {boolean} [forceRestart=false] Whether to forcefully restart
60
+ * the Settings app if it is already running
59
61
  */
60
62
  /**
61
63
  * Ensures that Appium Settings helper application is running
@@ -66,11 +68,14 @@ class SettingsApp {
66
68
  * @returns {Promise<SettingsApp>} self instance for chaining
67
69
  */
68
70
  async requireRunning(opts = {}) {
69
- if (await this.isRunningInForeground()) {
71
+ const { timeout = 5000, shouldRestoreCurrentApp = false, forceRestart = false, } = opts;
72
+ if (forceRestart) {
73
+ await this.adb.forceStop(constants_js_1.SETTINGS_HELPER_ID);
74
+ }
75
+ else if (await this.isRunningInForeground()) {
70
76
  return this;
71
77
  }
72
78
  this.log.debug(logger_1.LOG_PREFIX, 'Starting Appium Settings app');
73
- const { timeout = 5000, shouldRestoreCurrentApp = false, } = opts;
74
79
  let appPackage;
75
80
  if (shouldRestoreCurrentApp) {
76
81
  try {
@@ -143,7 +148,10 @@ class SettingsApp {
143
148
  ]);
144
149
  if (!output.includes('result=-1')) {
145
150
  this.log.debug(logger_1.LOG_PREFIX, output);
146
- throw new Error(`Cannot execute the '${action}' action. Check the logcat output for more details.`);
151
+ const error = new Error(`Cannot execute the '${action}' action. Check the logcat output for more details.`);
152
+ // @ts-ignore This is fine
153
+ error.output = output;
154
+ throw error;
147
155
  }
148
156
  return output;
149
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../lib/client.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../lib/client.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../lib/commands/locale.js"],"names":[],"mappings":"AAkCA;;;;;;;;;;GAUG;AACH,iFAPW,MAAM,WAEN,MAAM,WAEN,MAAM,OAAC,iBAmCjB;AAED;;;;;GAKG;AAEH;;;;;GAKG;AACH,6EAFa,OAAO,CAAC,eAAe,EAAE,CAAC,CAetC;;cAxBa,MAAM;aACN,MAAM"}
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../lib/commands/locale.js"],"names":[],"mappings":"AA+CA;;;;;;;;;;GAUG;AACH,iFAPW,MAAM,WAEN,MAAM,WAEN,MAAM,OAAC,iBAmCjB;AAED;;;;;GAKG;AAEH;;;;;GAKG;AACH,6EAFa,OAAO,CAAC,eAAe,EAAE,CAAC,CAetC;;cAxBa,MAAM;aACN,MAAM"}
@@ -30,7 +30,20 @@ async function setDeviceLocaleInternal(language, country, script = null) {
30
30
  if (script) {
31
31
  params.push('--es', 'script', script);
32
32
  }
33
- await this.checkBroadcast(params, 'set device locale');
33
+ for (let retry = 0; retry < 2; retry++) {
34
+ try {
35
+ await this.checkBroadcast(params, 'set device locale');
36
+ }
37
+ catch (err) {
38
+ if (retry === 0 && lodash_1.default.has(err, 'output') && err.output.includes('NoSuchMethodException')) {
39
+ // The above exception may be thrown if hidden API policies have not been picked up by
40
+ // Settings app yet. Restart might fix this issue.
41
+ await this.requireRunning({ shouldRestoreCurrentApp: true, forceRestart: true });
42
+ continue;
43
+ }
44
+ throw err;
45
+ }
46
+ }
34
47
  }
35
48
  /**
36
49
  * Set the locale name of the device under test.
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../lib/commands/locale.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../lib/commands/locale.js"],"names":[],"mappings":"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"}
package/lib/client.js CHANGED
@@ -44,6 +44,8 @@ export class SettingsApp {
44
44
  * to wait until the app has started
45
45
  * @property {boolean} [shouldRestoreCurrentApp=false] Whether to restore
46
46
  * the activity which was the current one before Settings startup
47
+ * @property {boolean} [forceRestart=false] Whether to forcefully restart
48
+ * the Settings app if it is already running
47
49
  */
48
50
 
49
51
  /**
@@ -55,15 +57,19 @@ export class SettingsApp {
55
57
  * @returns {Promise<SettingsApp>} self instance for chaining
56
58
  */
57
59
  async requireRunning (opts = {}) {
58
- if (await this.isRunningInForeground()) {
59
- return this;
60
- }
61
-
62
- this.log.debug(LOG_PREFIX, 'Starting Appium Settings app');
63
60
  const {
64
61
  timeout = 5000,
65
62
  shouldRestoreCurrentApp = false,
63
+ forceRestart = false,
66
64
  } = opts;
65
+
66
+ if (forceRestart) {
67
+ await this.adb.forceStop(SETTINGS_HELPER_ID);
68
+ } else if (await this.isRunningInForeground()) {
69
+ return this;
70
+ }
71
+
72
+ this.log.debug(LOG_PREFIX, 'Starting Appium Settings app');
67
73
  let appPackage;
68
74
  if (shouldRestoreCurrentApp) {
69
75
  try {
@@ -137,7 +143,10 @@ export class SettingsApp {
137
143
  ]);
138
144
  if (!output.includes('result=-1')) {
139
145
  this.log.debug(LOG_PREFIX, output);
140
- throw new Error(`Cannot execute the '${action}' action. Check the logcat output for more details.`);
146
+ const error = new Error(`Cannot execute the '${action}' action. Check the logcat output for more details.`);
147
+ // @ts-ignore This is fine
148
+ error.output = output;
149
+ throw error;
141
150
  }
142
151
  return output;
143
152
  }
@@ -29,7 +29,20 @@ async function setDeviceLocaleInternal (language, country, script = null) {
29
29
  if (script) {
30
30
  params.push('--es', 'script', script);
31
31
  }
32
- await this.checkBroadcast(params, 'set device locale');
32
+
33
+ for (let retry = 0; retry < 2; retry++) {
34
+ try {
35
+ await this.checkBroadcast(params, 'set device locale');
36
+ } catch (err) {
37
+ if (retry === 0 && _.has(err, 'output') && err.output.includes('NoSuchMethodException')) {
38
+ // The above exception may be thrown if hidden API policies have not been picked up by
39
+ // Settings app yet. Restart might fix this issue.
40
+ await this.requireRunning({shouldRestoreCurrentApp: true, forceRestart: true});
41
+ continue;
42
+ }
43
+ throw err;
44
+ }
45
+ }
33
46
  }
34
47
 
35
48
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "io.appium.settings",
3
- "version": "5.14.5",
3
+ "version": "5.14.7",
4
4
  "description": "App for dealing with Android settings",
5
5
  "main": "./build/lib/index.js",
6
6
  "types": "./build/lib/index.d.ts",