device-shots 0.5.8 → 0.5.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.
Files changed (2) hide show
  1. package/dist/index.js +33 -20
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -337,34 +337,47 @@ async function discoverAndroidDevices(bundleId) {
337
337
  function sleep(ms) {
338
338
  return new Promise((resolve) => setTimeout(resolve, ms));
339
339
  }
340
- async function adbShell(serial, args) {
340
+ async function demoBroadcast(serial, extras) {
341
341
  const adb = getAdbPath();
342
- const { stdout, stderr } = await run(adb, ["-s", serial, "shell", ...args]);
342
+ const cmd = `am broadcast -a com.android.systemui.demo ${extras}`;
343
+ const { stdout, stderr } = await run(adb, ["-s", serial, "shell", "sh", "-c", cmd]);
343
344
  return stdout || stderr;
344
345
  }
345
- async function demoBroadcast(serial, extras) {
346
- await adbShell(serial, [
347
- "am",
348
- "broadcast",
349
- "-a",
350
- "com.android.systemui.demo",
351
- ...extras
352
- ]);
353
- }
354
346
  async function setAndroidDemoMode(serial, time = "9:30") {
355
347
  const hhmm = time.replace(":", "");
356
- await adbShell(serial, ["settings", "put", "global", "sysui_demo_allowed", "1"]);
357
- await demoBroadcast(serial, ["-e", "command", "enter"]);
348
+ const adb = getAdbPath();
349
+ await run(adb, ["-s", serial, "shell", "settings", "put", "global", "sysui_demo_allowed", "1"]);
350
+ await run(adb, ["-s", serial, "shell", "settings", "put", "global", "sysui_tuner_demo_on", "1"]);
358
351
  await sleep(500);
359
- await demoBroadcast(serial, ["-e", "command", "clock", "-e", "hhmm", hhmm]);
360
- await demoBroadcast(serial, ["-e", "command", "network", "-e", "wifi", "show", "-e", "level", "4"]);
361
- await demoBroadcast(serial, ["-e", "command", "network", "-e", "mobile", "show", "-e", "datatype", "none", "-e", "level", "4"]);
362
- await demoBroadcast(serial, ["-e", "command", "battery", "-e", "level", "100", "-e", "plugged", "false"]);
363
- await demoBroadcast(serial, ["-e", "command", "notifications", "-e", "visible", "false"]);
352
+ let result = await demoBroadcast(serial, "-e command enter");
353
+ process.stderr.write(`[demo] enter: ${result.trim()}
354
+ `);
355
+ await sleep(1e3);
356
+ result = await demoBroadcast(serial, `-e command clock -e hhmm ${hhmm}`);
357
+ process.stderr.write(`[demo] clock: ${result.trim()}
358
+ `);
359
+ await sleep(300);
360
+ result = await demoBroadcast(serial, "-e command network -e wifi show -e level 4");
361
+ process.stderr.write(`[demo] wifi: ${result.trim()}
362
+ `);
363
+ await sleep(300);
364
+ result = await demoBroadcast(serial, "-e command network -e mobile show -e datatype none -e level 4");
365
+ process.stderr.write(`[demo] mobile: ${result.trim()}
366
+ `);
367
+ await sleep(300);
368
+ result = await demoBroadcast(serial, "-e command battery -e level 100 -e plugged false");
369
+ process.stderr.write(`[demo] battery: ${result.trim()}
370
+ `);
371
+ await sleep(300);
372
+ result = await demoBroadcast(serial, "-e command notifications -e visible false");
373
+ process.stderr.write(`[demo] notif: ${result.trim()}
374
+ `);
364
375
  await sleep(1e3);
365
376
  }
366
377
  async function clearAndroidDemoMode(serial) {
367
- await demoBroadcast(serial, ["-e", "command", "exit"]);
378
+ await demoBroadcast(serial, "-e command exit");
379
+ const adb = getAdbPath();
380
+ await run(adb, ["-s", serial, "shell", "settings", "put", "global", "sysui_tuner_demo_on", "0"]);
368
381
  }
369
382
  async function captureAndroidScreenshot(serial, outputPath) {
370
383
  const adb = getAdbPath();
@@ -848,7 +861,7 @@ async function frameCommand(dir, options) {
848
861
  var program = new Command();
849
862
  program.name("device-shots").description(
850
863
  "Capture and frame mobile app screenshots from iOS simulators and Android emulators"
851
- ).version("0.5.8");
864
+ ).version("0.5.10");
852
865
  program.command("capture").description("Capture screenshots from running devices").argument("[name]", "Screenshot name").option("-b, --bundle-id <id>", "App bundle ID").option("-o, --output <dir>", "Output directory").option("-p, --platform <platform>", "ios, android, or both").option("--no-frame", "Skip framing after capture").option("--time <time>", "Status bar time", "9:41").action(async (name, opts) => {
853
866
  await captureCommand({ name, ...opts });
854
867
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "device-shots",
3
- "version": "0.5.8",
3
+ "version": "0.5.10",
4
4
  "description": "Capture and frame mobile app screenshots from iOS simulators and Android emulators",
5
5
  "type": "module",
6
6
  "bin": {