io.appium.settings 8.0.9 → 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 CHANGED
@@ -1,3 +1,9 @@
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
+
1
7
  ## [8.0.9](https://github.com/appium/io.appium.settings/compare/v8.0.8...v8.0.9) (2026-08-25)
2
8
 
3
9
  ### Miscellaneous Chores
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,EACjF,YAAY,CACb,CAAC;AACJ,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"}
@@ -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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "io.appium.settings",
3
- "version": "8.0.9",
3
+ "version": "8.0.10",
4
4
  "description": "App for dealing with Android settings",
5
5
  "keywords": [
6
6
  "android",