io.appium.settings 8.0.8 → 8.0.10
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 +12 -0
- package/README.md +29 -0
- package/apks/settings_apk-debug.apk +0 -0
- package/build/lib/commands/media.js +1 -1
- package/build/lib/commands/media.js.map +1 -1
- package/lib/commands/media.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [8.0.10](https://github.com/appium/io.appium.settings/compare/v8.0.9...v8.0.10) (2026-09-26)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* quote media scan destination paths ([#321](https://github.com/appium/io.appium.settings/issues/321)) ([71c90d0](https://github.com/appium/io.appium.settings/commit/71c90d09fb3e0cae33b20749217df593eb630d57))
|
|
6
|
+
|
|
7
|
+
## [8.0.9](https://github.com/appium/io.appium.settings/compare/v8.0.8...v8.0.9) (2026-08-25)
|
|
8
|
+
|
|
9
|
+
### Miscellaneous Chores
|
|
10
|
+
|
|
11
|
+
* **deps:** bump gradle-wrapper from 9.7.0 to 9.7.1 ([#316](https://github.com/appium/io.appium.settings/issues/316)) ([e807f0e](https://github.com/appium/io.appium.settings/commit/e807f0ecefe9e525e0dbbfbc375799ae38bf96ed))
|
|
12
|
+
|
|
1
13
|
## [8.0.8](https://github.com/appium/io.appium.settings/compare/v8.0.7...v8.0.8) (2026-08-12)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -9,6 +9,26 @@ Toggle settings in Android device or emulator.
|
|
|
9
9
|
|
|
10
10
|
A small and simple Android application that deals with the system settings. Then the application shuts down.
|
|
11
11
|
|
|
12
|
+
## Trusted test environment
|
|
13
|
+
|
|
14
|
+
Appium Settings is intended for dedicated test devices and emulators with trusted
|
|
15
|
+
applications. Its exported broadcast receivers support ADB and external automation
|
|
16
|
+
tools; they do not authenticate callers or provide isolation from malicious apps
|
|
17
|
+
installed on the same device.
|
|
18
|
+
|
|
19
|
+
In particular, granting Appium Settings `READ_SMS` allows other installed apps to
|
|
20
|
+
request SMS data through its SMS receiver without holding `READ_SMS` themselves.
|
|
21
|
+
When notification access is enabled and the service that registers the notification
|
|
22
|
+
receiver is running, other installed apps can request buffered notification data
|
|
23
|
+
without having notification access themselves. These requests happen on the device;
|
|
24
|
+
network isolation alone does not prevent them.
|
|
25
|
+
|
|
26
|
+
Use test data and avoid devices containing personal or confidential SMS messages or
|
|
27
|
+
notifications. Grant only the permissions needed for your tests. When the helper is
|
|
28
|
+
no longer needed, revoke its SMS permission and notification access, or uninstall it.
|
|
29
|
+
Ending an Appium session should not be treated as revoking those grants or removing
|
|
30
|
+
the helper.
|
|
31
|
+
|
|
12
32
|
## Requirements
|
|
13
33
|
|
|
14
34
|
* [Android SDK](http://developer.android.com)
|
|
@@ -255,6 +275,11 @@ adb shell ime set com.google.android.inputmethod.latin/com.android.inputmethod.l
|
|
|
255
275
|
|
|
256
276
|
## Notifications
|
|
257
277
|
|
|
278
|
+
**Trust requirement:** While notification access is enabled and the notification
|
|
279
|
+
receiver is registered, other apps on the device can retrieve buffered notifications
|
|
280
|
+
through this helper. See [Trusted test environment](#trusted-test-environment) before
|
|
281
|
+
enabling this feature.
|
|
282
|
+
|
|
258
283
|
Since version 2.16.0 Appium Settings supports retrieval of system notifications.
|
|
259
284
|
You need to manually switch the corresponding security switcher next to `Appium Settings`
|
|
260
285
|
application name in `Settings->Notification Access` (the path to this page under Settings
|
|
@@ -306,6 +331,10 @@ for more information on available notification properties and their values.
|
|
|
306
331
|
|
|
307
332
|
## SMS
|
|
308
333
|
|
|
334
|
+
**Trust requirement:** Once this helper has `READ_SMS`, other apps on the device can
|
|
335
|
+
request SMS data through its exported receiver without that permission themselves.
|
|
336
|
+
See [Trusted test environment](#trusted-test-environment) before granting access.
|
|
337
|
+
|
|
309
338
|
Since version 3.1 Appium Settings supports retrieval of SMS messages.
|
|
310
339
|
Make sure the corresponding permission has been granted to the app
|
|
311
340
|
in order to make this feature available. The next step would be to send
|
|
Binary file
|
|
@@ -10,6 +10,6 @@ import { LOG_PREFIX } from '../logger.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export async function scanMedia(destination) {
|
|
12
12
|
this.log.debug(LOG_PREFIX, `Scanning '${destination}' for media files`);
|
|
13
|
-
await this.checkBroadcast(['-n', MEDIA_SCAN_RECEIVER, '-a', MEDIA_SCAN_ACTION, '--es', 'path', destination], 'scan media');
|
|
13
|
+
await this.checkBroadcast(['-n', MEDIA_SCAN_RECEIVER, '-a', MEDIA_SCAN_ACTION, '--es', 'path', `'${destination.replace(/'/g, `'"'"'`)}'`], 'scan media');
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=media.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../lib/commands/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAoB,WAAmB;IACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,WAAW,mBAAmB,CAAC,CAAC;IACxE,MAAM,IAAI,CAAC,cAAc,CACvB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../lib/commands/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAoB,WAAmB;IACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,WAAW,mBAAmB,CAAC,CAAC;IACxE,MAAM,IAAI,CAAC,cAAc,CACvB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAC/G,YAAY,CACb,CAAC;AACJ,CAAC"}
|
package/lib/commands/media.ts
CHANGED
|
@@ -13,7 +13,7 @@ import {LOG_PREFIX} from '../logger.js';
|
|
|
13
13
|
export async function scanMedia(this: SettingsApp, destination: string): Promise<void> {
|
|
14
14
|
this.log.debug(LOG_PREFIX, `Scanning '${destination}' for media files`);
|
|
15
15
|
await this.checkBroadcast(
|
|
16
|
-
['-n', MEDIA_SCAN_RECEIVER, '-a', MEDIA_SCAN_ACTION, '--es', 'path', destination],
|
|
16
|
+
['-n', MEDIA_SCAN_RECEIVER, '-a', MEDIA_SCAN_ACTION, '--es', 'path', `'${destination.replace(/'/g, `'"'"'`)}'`],
|
|
17
17
|
'scan media',
|
|
18
18
|
);
|
|
19
19
|
}
|