io.appium.settings 5.8.2 → 5.9.0

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,10 @@
1
+ ## [5.9.0](https://github.com/appium/io.appium.settings/compare/v5.8.2...v5.9.0) (2024-05-16)
2
+
3
+
4
+ ### Features
5
+
6
+ * Add an API to list locales supported by the device ([#171](https://github.com/appium/io.appium.settings/issues/171)) ([6d00491](https://github.com/appium/io.appium.settings/commit/6d0049129ed21e017f4df25448c5f10df7d8774b))
7
+
1
8
  ## [5.8.2](https://github.com/appium/io.appium.settings/compare/v5.8.1...v5.8.2) (2024-05-16)
2
9
 
3
10
 
package/README.md CHANGED
@@ -156,6 +156,12 @@ You can set the [Locale](https://developer.android.com/reference/java/util/Local
156
156
 
157
157
  `-n io.appium.settings/.receivers.LocaleSettingReceiver` is not necessary in some devices.
158
158
 
159
+ List all supported locales as base64-encoded JSON:
160
+
161
+ ```shell
162
+ $ adb shell am broadcast -a io.appium.settings.list_locales
163
+ ```
164
+
159
165
  ## Retrieval of system settings
160
166
 
161
167
  You can retrieve the current geo location by executing:
Binary file
@@ -75,6 +75,7 @@ export class SettingsApp {
75
75
  setGeoLocation: typeof setGeoLocation;
76
76
  getGeoLocation: typeof getGeoLocation;
77
77
  refreshGeoLocationCache: typeof refreshGeoLocationCache;
78
+ listSupportedLocales: typeof listSupportedLocales;
78
79
  setDeviceLocale: typeof setDeviceLocale;
79
80
  scanMedia: typeof scanMedia;
80
81
  setDataState: typeof setDataState;
@@ -97,6 +98,7 @@ import { getClipboard } from './commands/clipboard';
97
98
  import { setGeoLocation } from './commands/geolocation';
98
99
  import { getGeoLocation } from './commands/geolocation';
99
100
  import { refreshGeoLocationCache } from './commands/geolocation';
101
+ import { listSupportedLocales } from './commands/locale';
100
102
  import { setDeviceLocale } from './commands/locale';
101
103
  import { scanMedia } from './commands/media';
102
104
  import { setDataState } from './commands/network';
@@ -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,sCAAsC;IACtC,KADW,OAAO,QAAQ,EAAE,MAAM,CAC9B;IAUJ;;;;;;OAMG;IAEH;;;;;;;OAOG;IACH;;;;;;;;;;;oBAFa,QAAQ,WAAW,CAAC,CA4ChC;IAED;;;;;;;OAOG;IACH,yBAFa,QAAQ,OAAO,CAAC,CAY5B;IAED;;;;;;;OAOG;IACH,qBALW,MAAM,EAAE,UACR,MAAM,4CAEJ,QAAQ,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,wCAAkC;IAElC,4BAAsB;IAEtB,kCAA4B;IAC5B,kCAA4B;IAE5B,0CAAoC;IACpC,sEAAgE;IAChE,8BAAwB;IAExB,gDAA0C;IAC1C,gCAA0B;IAE1B,gEAA0D;IAC1D,wFAAkF;CACnF;;SA7La,OAAO,YAAY,EAAE,GAAG;;kCAjBJ,sBAAsB;kCACK,sBAAsB;0CAAtB,sBAAsB;6BACtD,sBAAsB;+BACqB,wBAAwB;+BAAxB,wBAAwB;wCAAxB,wBAAwB;gCAChE,mBAAmB;0BACzB,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,sCAAsC;IACtC,KADW,OAAO,QAAQ,EAAE,MAAM,CAC9B;IAUJ;;;;;;OAMG;IAEH;;;;;;;OAOG;IACH;;;;;;;;;;;oBAFa,QAAQ,WAAW,CAAC,CA4ChC;IAED;;;;;;;OAOG;IACH,yBAFa,QAAQ,OAAO,CAAC,CAY5B;IAED;;;;;;;OAOG;IACH,qBALW,MAAM,EAAE,UACR,MAAM,4CAEJ,QAAQ,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"}
@@ -35,6 +35,7 @@ class SettingsApp {
35
35
  this.setGeoLocation = geolocation_1.setGeoLocation;
36
36
  this.getGeoLocation = geolocation_1.getGeoLocation;
37
37
  this.refreshGeoLocationCache = geolocation_1.refreshGeoLocationCache;
38
+ this.listSupportedLocales = locale_1.listSupportedLocales;
38
39
  this.setDeviceLocale = locale_1.setDeviceLocale;
39
40
  this.scanMedia = media_1.scanMedia;
40
41
  this.setDataState = network_1.setDataState;
@@ -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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"}
@@ -10,4 +10,22 @@
10
10
  * format: [a-zA-Z]{4}. e.g. Hans in zh-Hans-CN : https://developer.android.com/reference/java/util/Locale.html
11
11
  */
12
12
  export function setDeviceLocale(this: import("../client").SettingsApp, language: string, country: string, script?: string | null | undefined): Promise<void>;
13
+ /**
14
+ * @typedef {Object} SupportedLocale
15
+ * @property {string} language
16
+ * @property {string} country
17
+ * @property {string} [script]
18
+ */
19
+ /**
20
+ * Retrieves the list of supported device locales
21
+ *
22
+ * @this {import('../client').SettingsApp}
23
+ * @returns {Promise<SupportedLocale[]>}
24
+ */
25
+ export function listSupportedLocales(this: import("../client").SettingsApp): Promise<SupportedLocale[]>;
26
+ export type SupportedLocale = {
27
+ language: string;
28
+ country: string;
29
+ script?: string | undefined;
30
+ };
13
31
  //# sourceMappingURL=locale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../lib/commands/locale.js"],"names":[],"mappings":"AA6BA;;;;;;;;;;GAUG;AACH,iFAPW,MAAM,WAEN,MAAM,qDAqChB"}
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../lib/commands/locale.js"],"names":[],"mappings":"AAkCA;;;;;;;;;;GAUG;AACH,iFAPW,MAAM,WAEN,MAAM,qDAqChB;AAED;;;;;GAKG;AAEH;;;;;GAKG;AACH,6EAFa,QAAQ,eAAe,EAAE,CAAC,CAetC;;cAxBa,MAAM;aACN,MAAM"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setDeviceLocale = void 0;
6
+ exports.listSupportedLocales = exports.setDeviceLocale = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const logger_js_1 = require("../logger.js");
9
9
  const bluebird_1 = __importDefault(require("bluebird"));
@@ -75,4 +75,29 @@ async function setDeviceLocale(language, country, script = null) {
75
75
  }
76
76
  }
77
77
  exports.setDeviceLocale = setDeviceLocale;
78
+ /**
79
+ * @typedef {Object} SupportedLocale
80
+ * @property {string} language
81
+ * @property {string} country
82
+ * @property {string} [script]
83
+ */
84
+ /**
85
+ * Retrieves the list of supported device locales
86
+ *
87
+ * @this {import('../client').SettingsApp}
88
+ * @returns {Promise<SupportedLocale[]>}
89
+ */
90
+ async function listSupportedLocales() {
91
+ const params = [
92
+ '-a', constants_js_1.LOCALES_LIST_SETTING_ACTION,
93
+ '-n', constants_js_1.LOCALES_LIST_SETTING_RECEIVER,
94
+ ];
95
+ const output = await this.checkBroadcast(params, 'list supported locales');
96
+ const match = /result=-1, data="([^"]+)/.exec(output);
97
+ if (!match) {
98
+ throw new Error('Cannot retrieve the list of supported device locales. Check the logcat output for more details');
99
+ }
100
+ return JSON.parse(Buffer.from(match[1], 'base64').toString()).items;
101
+ }
102
+ exports.listSupportedLocales = listSupportedLocales;
78
103
  //# sourceMappingURL=locale.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../lib/commands/locale.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,4CAA0C;AAC1C,wDAAyB;AACzB,kDAAiF;AAEjF;;;;;;;;;;GAUG;AACH,KAAK,UAAU,uBAAuB,CAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IACtE,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,oCAAqB;QAC3B,IAAI,EAAE,sCAAuB;QAC7B,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE;QACtC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE;KACzC,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,eAAe,CAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IACrE,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,MAAM,kBAAC,CAAC,GAAG,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE;SAC5B,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAU,EAAE,sBAAsB,WAAW,2BAA2B,UAAU,GAAG,CAAC,CAAC;QACtG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAU,EAAE,qBAAqB,UAAU,0BAA0B,SAAS,GAAG,CAAC,CAAC;QAClG,IAAI,UAAU,KAAK,WAAW,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC3D,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAEnD,qBAAqB;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;QAClG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAU,EAAE,oBAAoB,SAAS,yBAAyB,UAAU,GAAG,CAAC,CAAC;QAChG,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YACzD,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;AACH,CAAC;AAhCD,0CAgCC"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../lib/commands/locale.js"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export const ANIMATION_SETTING_RECEIVER: "io.appium.settings/.receivers.Animatio
17
17
  export const ANIMATION_SETTING_ACTION: "io.appium.settings.animation";
18
18
  export const LOCALE_SETTING_RECEIVER: "io.appium.settings/.receivers.LocaleSettingReceiver";
19
19
  export const LOCALE_SETTING_ACTION: "io.appium.settings.locale";
20
+ export const LOCALES_LIST_SETTING_RECEIVER: "io.appium.settings/.receivers.LocalesReader";
21
+ export const LOCALES_LIST_SETTING_ACTION: "io.appium.settings.list_locales";
20
22
  export const LOCATION_SERVICE: "io.appium.settings/.LocationService";
21
23
  export const LOCATION_RECEIVER: "io.appium.settings/.receivers.LocationInfoReceiver";
22
24
  export const LOCATION_RETRIEVAL_ACTION: "io.appium.settings.location";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.js"],"names":[],"mappings":"AAAA,sDAAuD;AACvD,wDAAyD;AAIzD,mFAAuE;AACvE,4EAAgF;AAEhF,yDAA6D;AAC7D,2DAA+D;AAC/D,uDAA2D;AAE3D,6GAAiG;AACjG,uEAA2E;AAC3E,6GAAiG;AACjG,kFAAsF;AACtF,4GAAgG;AAChG,sEAA0E;AAC1E,uGAA2F;AAC3F,4EAAgF;AAEhF,kGAAsF;AACtF,sEAA0E;AAE1E,4FAAgF;AAChF,gEAAoE;AAEpE,qEAAyE;AACzE,qFAAyE;AACzE,sEAA0E;AAE1E,0EAA8D;AAC9D,sEAA0E;AAE1E,uFAA2E;AAC3E,gEAAoE;AAEpE,qFAAyF;AACzF,gFAAoF;AAEpF,oFAAwF;AACxF,uFAA2F;AAC3F,iFAAqF;AACrF,+EAAmF"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.js"],"names":[],"mappings":"AAAA,sDAAuD;AACvD,wDAAyD;AAIzD,mFAAuE;AACvE,4EAAgF;AAEhF,yDAA6D;AAC7D,2DAA+D;AAC/D,uDAA2D;AAE3D,6GAAiG;AACjG,uEAA2E;AAC3E,6GAAiG;AACjG,kFAAsF;AACtF,4GAAgG;AAChG,sEAA0E;AAC1E,uGAA2F;AAC3F,4EAAgF;AAEhF,kGAAsF;AACtF,sEAA0E;AAE1E,4FAAgF;AAChF,gEAAoE;AAEpE,0FAA8E;AAC9E,4EAAgF;AAEhF,qEAAyE;AACzE,qFAAyE;AACzE,sEAA0E;AAE1E,0EAA8D;AAC9D,sEAA0E;AAE1E,uFAA2E;AAC3E,gEAAoE;AAEpE,qFAAyF;AACzF,gFAAoF;AAEpF,oFAAwF;AACxF,uFAA2F;AAC3F,iFAAqF;AACrF,+EAAmF"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RECORDING_ACTION_STOP = exports.RECORDING_ACTION_START = exports.RECORDING_ACTIVITY_NAME = exports.RECORDING_SERVICE_NAME = exports.NOTIFICATIONS_RETRIEVAL_ACTION = exports.SETTING_NOTIFICATIONS_LISTENER_SERVICE = exports.MEDIA_SCAN_ACTION = exports.MEDIA_SCAN_RECEIVER = exports.SMS_LIST_RETRIEVAL_ACTION = exports.SMS_LIST_RECEIVER = exports.LOCATION_RETRIEVAL_ACTION = exports.LOCATION_RECEIVER = exports.LOCATION_SERVICE = exports.LOCALE_SETTING_ACTION = exports.LOCALE_SETTING_RECEIVER = exports.ANIMATION_SETTING_ACTION = exports.ANIMATION_SETTING_RECEIVER = exports.BLUETOOTH_UNPAIR_ACTION = exports.BLUETOOTH_UNPAIR_RECEIVER = exports.BLUETOOTH_SETTING_ACTION = exports.BLUETOOTH_SETTING_RECEIVER = exports.DATA_CONNECTION_SETTING_ACTION = exports.DATA_CONNECTION_SETTING_RECEIVER = exports.WIFI_CONNECTION_SETTING_ACTION = exports.WIFI_CONNECTION_SETTING_RECEIVER = exports.EMPTY_IME = exports.UNICODE_IME = exports.APPIUM_IME = exports.CLIPBOARD_RETRIEVAL_ACTION = exports.CLIPBOARD_RECEIVER = exports.SETTINGS_HELPER_MAIN_ACTIVITY = exports.SETTINGS_HELPER_ID = void 0;
3
+ exports.RECORDING_ACTION_STOP = exports.RECORDING_ACTION_START = exports.RECORDING_ACTIVITY_NAME = exports.RECORDING_SERVICE_NAME = exports.NOTIFICATIONS_RETRIEVAL_ACTION = exports.SETTING_NOTIFICATIONS_LISTENER_SERVICE = exports.MEDIA_SCAN_ACTION = exports.MEDIA_SCAN_RECEIVER = exports.SMS_LIST_RETRIEVAL_ACTION = exports.SMS_LIST_RECEIVER = exports.LOCATION_RETRIEVAL_ACTION = exports.LOCATION_RECEIVER = exports.LOCATION_SERVICE = exports.LOCALES_LIST_SETTING_ACTION = exports.LOCALES_LIST_SETTING_RECEIVER = exports.LOCALE_SETTING_ACTION = exports.LOCALE_SETTING_RECEIVER = exports.ANIMATION_SETTING_ACTION = exports.ANIMATION_SETTING_RECEIVER = exports.BLUETOOTH_UNPAIR_ACTION = exports.BLUETOOTH_UNPAIR_RECEIVER = exports.BLUETOOTH_SETTING_ACTION = exports.BLUETOOTH_SETTING_RECEIVER = exports.DATA_CONNECTION_SETTING_ACTION = exports.DATA_CONNECTION_SETTING_RECEIVER = exports.WIFI_CONNECTION_SETTING_ACTION = exports.WIFI_CONNECTION_SETTING_RECEIVER = exports.EMPTY_IME = exports.UNICODE_IME = exports.APPIUM_IME = exports.CLIPBOARD_RETRIEVAL_ACTION = exports.CLIPBOARD_RECEIVER = exports.SETTINGS_HELPER_MAIN_ACTIVITY = exports.SETTINGS_HELPER_ID = void 0;
4
4
  exports.SETTINGS_HELPER_ID = 'io.appium.settings';
5
5
  exports.SETTINGS_HELPER_MAIN_ACTIVITY = '.Settings';
6
6
  const RECEIVERS_PKG = `${exports.SETTINGS_HELPER_ID}/.receivers`;
@@ -21,6 +21,8 @@ exports.ANIMATION_SETTING_RECEIVER = `${RECEIVERS_PKG}.AnimationSettingReceiver`
21
21
  exports.ANIMATION_SETTING_ACTION = `${exports.SETTINGS_HELPER_ID}.animation`;
22
22
  exports.LOCALE_SETTING_RECEIVER = `${RECEIVERS_PKG}.LocaleSettingReceiver`;
23
23
  exports.LOCALE_SETTING_ACTION = `${exports.SETTINGS_HELPER_ID}.locale`;
24
+ exports.LOCALES_LIST_SETTING_RECEIVER = `${RECEIVERS_PKG}.LocalesReader`;
25
+ exports.LOCALES_LIST_SETTING_ACTION = `${exports.SETTINGS_HELPER_ID}.list_locales`;
24
26
  exports.LOCATION_SERVICE = `${exports.SETTINGS_HELPER_ID}/.LocationService`;
25
27
  exports.LOCATION_RECEIVER = `${RECEIVERS_PKG}.LocationInfoReceiver`;
26
28
  exports.LOCATION_RETRIEVAL_ACTION = `${exports.SETTINGS_HELPER_ID}.location`;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.js"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,6BAA6B,GAAG,WAAW,CAAC;AAEzD,MAAM,aAAa,GAAG,GAAG,0BAAkB,aAAa,CAAC;AAE5C,QAAA,kBAAkB,GAAG,GAAG,aAAa,oBAAoB,CAAC;AAC1D,QAAA,0BAA0B,GAAG,GAAG,0BAAkB,gBAAgB,CAAC;AAEnE,QAAA,UAAU,GAAG,GAAG,0BAAkB,aAAa,CAAC;AAChD,QAAA,WAAW,GAAG,GAAG,0BAAkB,cAAc,CAAC;AAClD,QAAA,SAAS,GAAG,GAAG,0BAAkB,YAAY,CAAC;AAE9C,QAAA,gCAAgC,GAAG,GAAG,aAAa,gCAAgC,CAAC;AACpF,QAAA,8BAA8B,GAAG,GAAG,0BAAkB,OAAO,CAAC;AAC9D,QAAA,gCAAgC,GAAG,GAAG,aAAa,gCAAgC,CAAC;AACpF,QAAA,8BAA8B,GAAG,GAAG,0BAAkB,kBAAkB,CAAC;AACzE,QAAA,0BAA0B,GAAG,GAAG,aAAa,qCAAqC,CAAC;AACnF,QAAA,wBAAwB,GAAG,GAAG,0BAAkB,YAAY,CAAC;AAC7D,QAAA,yBAAyB,GAAG,GAAG,aAAa,iCAAiC,CAAC;AAC9E,QAAA,uBAAuB,GAAG,GAAG,0BAAkB,mBAAmB,CAAC;AAEnE,QAAA,0BAA0B,GAAG,GAAG,aAAa,2BAA2B,CAAC;AACzE,QAAA,wBAAwB,GAAG,GAAG,0BAAkB,YAAY,CAAC;AAE7D,QAAA,uBAAuB,GAAG,GAAG,aAAa,wBAAwB,CAAC;AACnE,QAAA,qBAAqB,GAAG,GAAG,0BAAkB,SAAS,CAAC;AAEvD,QAAA,gBAAgB,GAAG,GAAG,0BAAkB,mBAAmB,CAAC;AAC5D,QAAA,iBAAiB,GAAG,GAAG,aAAa,uBAAuB,CAAC;AAC5D,QAAA,yBAAyB,GAAG,GAAG,0BAAkB,WAAW,CAAC;AAE7D,QAAA,iBAAiB,GAAG,GAAG,aAAa,YAAY,CAAC;AACjD,QAAA,yBAAyB,GAAG,GAAG,0BAAkB,WAAW,CAAC;AAE7D,QAAA,mBAAmB,GAAG,GAAG,aAAa,uBAAuB,CAAC;AAC9D,QAAA,iBAAiB,GAAG,GAAG,0BAAkB,aAAa,CAAC;AAEvD,QAAA,sCAAsC,GAAG,GAAG,0BAAkB,aAAa,CAAC;AAC5E,QAAA,8BAA8B,GAAG,GAAG,0BAAkB,gBAAgB,CAAC;AAEvE,QAAA,sBAAsB,GAAG,GAAG,0BAAkB,4BAA4B,CAAC;AAC3E,QAAA,uBAAuB,GAAG,GAAG,0BAAkB,8BAA8B,CAAC;AAC9E,QAAA,sBAAsB,GAAG,GAAG,0BAAkB,yBAAyB,CAAC;AACxE,QAAA,qBAAqB,GAAG,GAAG,0BAAkB,wBAAwB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.js"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,6BAA6B,GAAG,WAAW,CAAC;AAEzD,MAAM,aAAa,GAAG,GAAG,0BAAkB,aAAa,CAAC;AAE5C,QAAA,kBAAkB,GAAG,GAAG,aAAa,oBAAoB,CAAC;AAC1D,QAAA,0BAA0B,GAAG,GAAG,0BAAkB,gBAAgB,CAAC;AAEnE,QAAA,UAAU,GAAG,GAAG,0BAAkB,aAAa,CAAC;AAChD,QAAA,WAAW,GAAG,GAAG,0BAAkB,cAAc,CAAC;AAClD,QAAA,SAAS,GAAG,GAAG,0BAAkB,YAAY,CAAC;AAE9C,QAAA,gCAAgC,GAAG,GAAG,aAAa,gCAAgC,CAAC;AACpF,QAAA,8BAA8B,GAAG,GAAG,0BAAkB,OAAO,CAAC;AAC9D,QAAA,gCAAgC,GAAG,GAAG,aAAa,gCAAgC,CAAC;AACpF,QAAA,8BAA8B,GAAG,GAAG,0BAAkB,kBAAkB,CAAC;AACzE,QAAA,0BAA0B,GAAG,GAAG,aAAa,qCAAqC,CAAC;AACnF,QAAA,wBAAwB,GAAG,GAAG,0BAAkB,YAAY,CAAC;AAC7D,QAAA,yBAAyB,GAAG,GAAG,aAAa,iCAAiC,CAAC;AAC9E,QAAA,uBAAuB,GAAG,GAAG,0BAAkB,mBAAmB,CAAC;AAEnE,QAAA,0BAA0B,GAAG,GAAG,aAAa,2BAA2B,CAAC;AACzE,QAAA,wBAAwB,GAAG,GAAG,0BAAkB,YAAY,CAAC;AAE7D,QAAA,uBAAuB,GAAG,GAAG,aAAa,wBAAwB,CAAC;AACnE,QAAA,qBAAqB,GAAG,GAAG,0BAAkB,SAAS,CAAC;AAEvD,QAAA,6BAA6B,GAAG,GAAG,aAAa,gBAAgB,CAAC;AACjE,QAAA,2BAA2B,GAAG,GAAG,0BAAkB,eAAe,CAAC;AAEnE,QAAA,gBAAgB,GAAG,GAAG,0BAAkB,mBAAmB,CAAC;AAC5D,QAAA,iBAAiB,GAAG,GAAG,aAAa,uBAAuB,CAAC;AAC5D,QAAA,yBAAyB,GAAG,GAAG,0BAAkB,WAAW,CAAC;AAE7D,QAAA,iBAAiB,GAAG,GAAG,aAAa,YAAY,CAAC;AACjD,QAAA,yBAAyB,GAAG,GAAG,0BAAkB,WAAW,CAAC;AAE7D,QAAA,mBAAmB,GAAG,GAAG,aAAa,uBAAuB,CAAC;AAC9D,QAAA,iBAAiB,GAAG,GAAG,0BAAkB,aAAa,CAAC;AAEvD,QAAA,sCAAsC,GAAG,GAAG,0BAAkB,aAAa,CAAC;AAC5E,QAAA,8BAA8B,GAAG,GAAG,0BAAkB,gBAAgB,CAAC;AAEvE,QAAA,sBAAsB,GAAG,GAAG,0BAAkB,4BAA4B,CAAC;AAC3E,QAAA,uBAAuB,GAAG,GAAG,0BAAkB,8BAA8B,CAAC;AAC9E,QAAA,sBAAsB,GAAG,GAAG,0BAAkB,yBAAyB,CAAC;AACxE,QAAA,qBAAqB,GAAG,GAAG,0BAAkB,wBAAwB,CAAC"}
package/lib/client.js CHANGED
@@ -6,7 +6,7 @@ import { setAnimationState } from './commands/animation';
6
6
  import { setBluetoothState, unpairAllBluetoothDevices } from './commands/bluetooth';
7
7
  import { getClipboard } from './commands/clipboard';
8
8
  import { setGeoLocation, getGeoLocation, refreshGeoLocationCache } from './commands/geolocation';
9
- import { setDeviceLocale } from './commands/locale';
9
+ import { setDeviceLocale, listSupportedLocales } from './commands/locale';
10
10
  import { scanMedia } from './commands/media';
11
11
  import { setDataState, setWifiState } from './commands/network';
12
12
  import { getNotifications, adjustNotificationsPermissions } from './commands/notifications';
@@ -192,6 +192,7 @@ export class SettingsApp {
192
192
  getGeoLocation = getGeoLocation;
193
193
  refreshGeoLocationCache = refreshGeoLocationCache;
194
194
 
195
+ listSupportedLocales = listSupportedLocales;
195
196
  setDeviceLocale = setDeviceLocale;
196
197
 
197
198
  scanMedia = scanMedia;
@@ -1,7 +1,12 @@
1
1
  import _ from 'lodash';
2
2
  import { LOG_PREFIX } from '../logger.js';
3
3
  import B from 'bluebird';
4
- import { LOCALE_SETTING_ACTION, LOCALE_SETTING_RECEIVER } from '../constants.js';
4
+ import {
5
+ LOCALE_SETTING_ACTION,
6
+ LOCALE_SETTING_RECEIVER,
7
+ LOCALES_LIST_SETTING_ACTION,
8
+ LOCALES_LIST_SETTING_RECEIVER,
9
+ } from '../constants.js';
5
10
 
6
11
  /**
7
12
  * Change the locale on the device under test. Don't need to reboot the device after changing the locale.
@@ -71,3 +76,31 @@ export async function setDeviceLocale (language, country, script = null) {
71
76
  }
72
77
  }
73
78
  }
79
+
80
+ /**
81
+ * @typedef {Object} SupportedLocale
82
+ * @property {string} language
83
+ * @property {string} country
84
+ * @property {string} [script]
85
+ */
86
+
87
+ /**
88
+ * Retrieves the list of supported device locales
89
+ *
90
+ * @this {import('../client').SettingsApp}
91
+ * @returns {Promise<SupportedLocale[]>}
92
+ */
93
+ export async function listSupportedLocales() {
94
+ const params = [
95
+ '-a', LOCALES_LIST_SETTING_ACTION,
96
+ '-n', LOCALES_LIST_SETTING_RECEIVER,
97
+ ];
98
+ const output = await this.checkBroadcast(params, 'list supported locales');
99
+ const match = /result=-1, data="([^"]+)/.exec(output);
100
+ if (!match) {
101
+ throw new Error(
102
+ 'Cannot retrieve the list of supported device locales. Check the logcat output for more details'
103
+ );
104
+ }
105
+ return JSON.parse(Buffer.from(match[1], 'base64').toString()).items;
106
+ }
package/lib/constants.js CHANGED
@@ -25,6 +25,9 @@ export const ANIMATION_SETTING_ACTION = `${SETTINGS_HELPER_ID}.animation`;
25
25
  export const LOCALE_SETTING_RECEIVER = `${RECEIVERS_PKG}.LocaleSettingReceiver`;
26
26
  export const LOCALE_SETTING_ACTION = `${SETTINGS_HELPER_ID}.locale`;
27
27
 
28
+ export const LOCALES_LIST_SETTING_RECEIVER = `${RECEIVERS_PKG}.LocalesReader`;
29
+ export const LOCALES_LIST_SETTING_ACTION = `${SETTINGS_HELPER_ID}.list_locales`;
30
+
28
31
  export const LOCATION_SERVICE = `${SETTINGS_HELPER_ID}/.LocationService`;
29
32
  export const LOCATION_RECEIVER = `${RECEIVERS_PKG}.LocationInfoReceiver`;
30
33
  export const LOCATION_RETRIEVAL_ACTION = `${SETTINGS_HELPER_ID}.location`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "io.appium.settings",
3
- "version": "5.8.2",
3
+ "version": "5.9.0",
4
4
  "description": "App for dealing with Android settings",
5
5
  "main": "./build/lib/index.js",
6
6
  "types": "./build/lib/index.d.ts",