device-shots 0.5.12 → 0.6.1

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 +1 -61
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -269,7 +269,6 @@ async function captureIosScreenshot(udid, outputPath) {
269
269
  }
270
270
 
271
271
  // src/devices/android.ts
272
- import { execSync } from "child_process";
273
272
  function sanitizeName2(name) {
274
273
  return name.replace(/[ (),]/g, "_").replace(/[^A-Za-z0-9_-]/g, "");
275
274
  }
@@ -335,54 +334,6 @@ async function discoverAndroidDevices(bundleId) {
335
334
  }
336
335
  return devices;
337
336
  }
338
- function sleep(ms) {
339
- return new Promise((resolve) => setTimeout(resolve, ms));
340
- }
341
- function adbShellSync(adb, serial, cmd) {
342
- try {
343
- const result = execSync(`${adb} -s ${serial} shell ${cmd}`, {
344
- encoding: "utf-8",
345
- timeout: 1e4
346
- });
347
- return result.trim();
348
- } catch (e) {
349
- return e.stdout?.trim() || e.stderr?.trim() || "";
350
- }
351
- }
352
- async function setAndroidDemoMode(serial, time = "9:30") {
353
- const hhmm = time.replace(":", "");
354
- const adb = getAdbPath();
355
- const ACTION = "com.android.systemui.demo";
356
- adbShellSync(adb, serial, "settings put global sysui_demo_allowed 1");
357
- adbShellSync(adb, serial, "settings put global sysui_tuner_demo_on 1");
358
- await sleep(500);
359
- let r = adbShellSync(adb, serial, `am broadcast -a ${ACTION} --es command enter`);
360
- process.stderr.write(`[demo] enter: ${r}
361
- `);
362
- await sleep(1e3);
363
- r = adbShellSync(adb, serial, `am broadcast -a ${ACTION} --es command clock --es hhmm ${hhmm}`);
364
- process.stderr.write(`[demo] clock: ${r}
365
- `);
366
- r = adbShellSync(adb, serial, `am broadcast -a ${ACTION} --es command network --es wifi show --es level 4`);
367
- process.stderr.write(`[demo] wifi: ${r}
368
- `);
369
- r = adbShellSync(adb, serial, `am broadcast -a ${ACTION} --es command network --es mobile show --es datatype none --es level 4`);
370
- process.stderr.write(`[demo] mobile: ${r}
371
- `);
372
- r = adbShellSync(adb, serial, `am broadcast -a ${ACTION} --es command battery --es level 100 --es plugged false`);
373
- process.stderr.write(`[demo] battery: ${r}
374
- `);
375
- r = adbShellSync(adb, serial, `am broadcast -a ${ACTION} --es command notifications --es visible false`);
376
- process.stderr.write(`[demo] notif: ${r}
377
- `);
378
- await sleep(1e3);
379
- }
380
- async function clearAndroidDemoMode(serial) {
381
- const adb = getAdbPath();
382
- const ACTION = "com.android.systemui.demo";
383
- adbShellSync(adb, serial, `am broadcast -a ${ACTION} --es command exit`);
384
- adbShellSync(adb, serial, "settings put global sysui_tuner_demo_on 0");
385
- }
386
337
  async function captureAndroidScreenshot(serial, outputPath) {
387
338
  const adb = getAdbPath();
388
339
  const deviceTmp = "/sdcard/screenshot_tmp.png";
@@ -618,7 +569,6 @@ async function captureCommand(options) {
618
569
  const outputDir = options.output || config.output;
619
570
  const platform = options.platform || config.platform;
620
571
  const iosTime = options.time || config.time;
621
- const androidTime = config.androidTime;
622
572
  const shouldFrame = !options.noFrame && config.frame;
623
573
  const spinner = ora("Discovering devices...").start();
624
574
  const devices = await discoverDevices(bundleId, platform);
@@ -695,13 +645,6 @@ Detected ${devices.length} device(s) with ${bundleIdDisplay}:`)
695
645
  await setIosStatusBar(iosTime);
696
646
  s.succeed("iOS status bar set");
697
647
  }
698
- if (androidDevices.length > 0) {
699
- const s = ora("Setting clean Android status bar...").start();
700
- for (const device of androidDevices) {
701
- await setAndroidDemoMode(device.captureId, androidTime);
702
- }
703
- s.succeed("Android demo mode set");
704
- }
705
648
  console.log("");
706
649
  const captured = [];
707
650
  for (const device of devices) {
@@ -753,9 +696,6 @@ Detected ${devices.length} device(s) with ${bundleIdDisplay}:`)
753
696
  if (iosDevices.length > 0) {
754
697
  await clearIosStatusBar();
755
698
  }
756
- for (const device of androidDevices) {
757
- await clearAndroidDemoMode(device.captureId);
758
- }
759
699
  const skippedDupes = captured.length - movedBuckets.size;
760
700
  let msg = `
761
701
  Captured ${movedBuckets.size} screenshot(s) as '${screenshotName}'.`;
@@ -865,7 +805,7 @@ async function frameCommand(dir, options) {
865
805
  var program = new Command();
866
806
  program.name("device-shots").description(
867
807
  "Capture and frame mobile app screenshots from iOS simulators and Android emulators"
868
- ).version("0.5.12");
808
+ ).version("0.6.1");
869
809
  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) => {
870
810
  await captureCommand({ name, ...opts });
871
811
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "device-shots",
3
- "version": "0.5.12",
3
+ "version": "0.6.1",
4
4
  "description": "Capture and frame mobile app screenshots from iOS simulators and Android emulators",
5
5
  "type": "module",
6
6
  "bin": {