@mcesystems/adb-kit 1.0.90 → 1.0.91

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/dist/index.mjs CHANGED
@@ -25696,7 +25696,7 @@ var require_server = __commonJS({
25696
25696
  var require_api = __commonJS({
25697
25697
  "../../node_modules/.pnpm/@devicefarmer+adbkit-monkey@1.2.1/node_modules/@devicefarmer/adbkit-monkey/lib/monkey/api.js"(exports2, module2) {
25698
25698
  (function() {
25699
- var Api, EventEmitter, _ref, __hasProp = {}.hasOwnProperty, __extends = function(child, parent) {
25699
+ var Api, EventEmitter2, _ref, __hasProp = {}.hasOwnProperty, __extends = function(child, parent) {
25700
25700
  for (var key in parent) {
25701
25701
  if (__hasProp.call(parent, key)) child[key] = parent[key];
25702
25702
  }
@@ -25708,7 +25708,7 @@ var require_api = __commonJS({
25708
25708
  child.__super__ = parent.prototype;
25709
25709
  return child;
25710
25710
  };
25711
- EventEmitter = __require("events").EventEmitter;
25711
+ EventEmitter2 = __require("events").EventEmitter;
25712
25712
  Api = (function(_super) {
25713
25713
  __extends(Api2, _super);
25714
25714
  function Api2() {
@@ -25922,7 +25922,7 @@ var require_api = __commonJS({
25922
25922
  return this;
25923
25923
  };
25924
25924
  return Api2;
25925
- })(EventEmitter);
25925
+ })(EventEmitter2);
25926
25926
  module2.exports = Api;
25927
25927
  }).call(exports2);
25928
25928
  }
@@ -26103,7 +26103,7 @@ var require_multi = __commonJS({
26103
26103
  var require_parser2 = __commonJS({
26104
26104
  "../../node_modules/.pnpm/@devicefarmer+adbkit-monkey@1.2.1/node_modules/@devicefarmer/adbkit-monkey/lib/monkey/parser.js"(exports2, module2) {
26105
26105
  (function() {
26106
- var EventEmitter, Parser, Reply, __hasProp = {}.hasOwnProperty, __extends = function(child, parent) {
26106
+ var EventEmitter2, Parser, Reply, __hasProp = {}.hasOwnProperty, __extends = function(child, parent) {
26107
26107
  for (var key in parent) {
26108
26108
  if (__hasProp.call(parent, key)) child[key] = parent[key];
26109
26109
  }
@@ -26115,7 +26115,7 @@ var require_parser2 = __commonJS({
26115
26115
  child.__super__ = parent.prototype;
26116
26116
  return child;
26117
26117
  };
26118
- EventEmitter = __require("events").EventEmitter;
26118
+ EventEmitter2 = __require("events").EventEmitter;
26119
26119
  Reply = require_reply();
26120
26120
  Parser = (function(_super) {
26121
26121
  __extends(Parser2, _super);
@@ -26163,7 +26163,7 @@ var require_parser2 = __commonJS({
26163
26163
  this.emit("error", new SyntaxError("Unparseable line '" + line + "'"));
26164
26164
  };
26165
26165
  return Parser2;
26166
- })(EventEmitter);
26166
+ })(EventEmitter2);
26167
26167
  module2.exports = Parser;
26168
26168
  }).call(exports2);
26169
26169
  }
@@ -30216,6 +30216,7 @@ var require_dist = __commonJS({
30216
30216
 
30217
30217
  // src/logic/adbDeviceKit.ts
30218
30218
  var adbkit = __toESM(require_dist());
30219
+ import { EventEmitter } from "node:events";
30219
30220
 
30220
30221
  // ../tool-debug/dist/index.mjs
30221
30222
  import process22 from "node:process";
@@ -31349,6 +31350,11 @@ function portNumbers(from, to) {
31349
31350
  return generator(from, to);
31350
31351
  }
31351
31352
 
31353
+ // src/types/usbDebugging.ts
31354
+ var USB_DEBUGGING_EVENT_OFF = "usbDebuggingOff";
31355
+ var USB_DEBUGGING_EVENT_NEEDS_ALWAYS_ALLOW = "usbDebuggingNeedsAlwaysAllow";
31356
+ var USB_DEBUGGING_EVENT_AUTHORIZED = "usbDebuggingAuthorized";
31357
+
31352
31358
  // src/utils/adbPath.ts
31353
31359
  import { existsSync } from "node:fs";
31354
31360
  import path from "node:path";
@@ -31530,78 +31536,92 @@ var AdbDeviceKit = class {
31530
31536
  const adbBin = process.env.ADB_PATH ?? this.config?.binPath ?? "adb";
31531
31537
  return adbkit.default.createClient({ bin: adbBin });
31532
31538
  }
31533
- async waitForUsbDebugging(timeout2 = 12e4, _numberOfAllowedAttempts = 5) {
31534
- if (await this.hasUsbDebugging()) {
31535
- logDetail("USB debugging is already enabled");
31536
- return true;
31537
- }
31538
- const trackingClient = this.createTrackingClient();
31539
- const tracker = await trackingClient.trackDevices();
31540
- let settled = false;
31541
- return new Promise((resolve, reject) => {
31542
- const timeoutId = setTimeout(() => {
31543
- logError("Timeout waiting for USB debugging");
31544
- settle({ type: "reject", err: new Error("Timeout waiting for USB debugging") });
31545
- }, timeout2);
31546
- const cleanupTrackingClient = () => {
31547
- try {
31548
- tracker.end();
31549
- } catch {
31550
- }
31551
- trackingClient.on("error", () => {
31539
+ matchesDeviceId(device) {
31540
+ return device.id === this.deviceId || device.id.endsWith(this.deviceId);
31541
+ }
31542
+ waitForUsbDebugging(timeout2 = 12e4, _numberOfAllowedAttempts = 5) {
31543
+ const events = new EventEmitter();
31544
+ const promise = (async () => {
31545
+ if (await this.hasUsbDebugging()) {
31546
+ logDetail("USB debugging is already enabled");
31547
+ return true;
31548
+ }
31549
+ const trackingClient = this.createTrackingClient();
31550
+ const tracker = await trackingClient.trackDevices();
31551
+ events.emit(USB_DEBUGGING_EVENT_OFF);
31552
+ let settled = false;
31553
+ return new Promise((resolve, reject) => {
31554
+ const timeoutId = setTimeout(() => {
31555
+ logError("Timeout waiting for USB debugging");
31556
+ settle({ type: "reject", err: new Error("Timeout waiting for USB debugging") });
31557
+ }, timeout2);
31558
+ const cleanupTrackingClient = () => {
31559
+ try {
31560
+ tracker.end();
31561
+ } catch {
31562
+ }
31563
+ trackingClient.on("error", () => {
31564
+ });
31565
+ };
31566
+ const settle = (result) => {
31567
+ if (settled) return;
31568
+ settled = true;
31569
+ clearTimeout(timeoutId);
31570
+ cleanupTrackingClient();
31571
+ if (result.type === "resolve") {
31572
+ resolve(result.value);
31573
+ } else {
31574
+ logError(result.err.message);
31575
+ reject(result.err);
31576
+ }
31577
+ };
31578
+ const handleAddOrChange = (device) => {
31579
+ if (!this.matchesDeviceId(device)) return;
31580
+ if (device.type === "unauthorized") {
31581
+ logDetail("Device needs 'Always allow' authorization");
31582
+ events.emit(USB_DEBUGGING_EVENT_NEEDS_ALWAYS_ALLOW);
31583
+ return;
31584
+ }
31585
+ if (device.type === "device") {
31586
+ logDetail("Device authorized");
31587
+ events.emit(USB_DEBUGGING_EVENT_AUTHORIZED);
31588
+ settle({ type: "resolve", value: true });
31589
+ }
31590
+ };
31591
+ trackingClient.on("error", (err) => {
31592
+ if (isConnectionErrorMessage(err)) {
31593
+ logDetail(`Tracking client connection closed: ${err.message}`);
31594
+ settle({ type: "resolve", value: false });
31595
+ } else {
31596
+ logError(`Tracking client error: ${err.message}`);
31597
+ settle({ type: "reject", err });
31598
+ }
31552
31599
  });
31553
- };
31554
- const settle = (result) => {
31555
- if (settled) return;
31556
- settled = true;
31557
- clearTimeout(timeoutId);
31558
- cleanupTrackingClient();
31559
- if (result.type === "resolve") {
31560
- resolve(result.value);
31561
- } else {
31562
- logError(result.err.message);
31563
- reject(result.err);
31564
- }
31565
- };
31566
- trackingClient.on("error", (err) => {
31567
- if (isConnectionErrorMessage(err)) {
31568
- logDetail(`Tracking client connection closed: ${err.message}`);
31569
- settle({ type: "resolve", value: false });
31570
- } else {
31571
- logError(`Tracking client error: ${err.message}`);
31572
- settle({ type: "reject", err });
31573
- }
31574
- });
31575
- tracker.on("error", (err) => {
31576
- if (isConnectionErrorMessage(err)) {
31577
- logDetail(`Tracker connection closed: ${err.message}`);
31600
+ tracker.on("error", (err) => {
31601
+ if (isConnectionErrorMessage(err)) {
31602
+ logDetail(`Tracker connection closed: ${err.message}`);
31603
+ settle({ type: "resolve", value: false });
31604
+ } else {
31605
+ logError(`Tracker error: ${err.message}`);
31606
+ settle({ type: "reject", err });
31607
+ }
31608
+ });
31609
+ tracker.on("end", () => {
31610
+ logDetail("Device tracking ended");
31578
31611
  settle({ type: "resolve", value: false });
31579
- } else {
31580
- logError(`Tracker error: ${err.message}`);
31581
- settle({ type: "reject", err });
31582
- }
31583
- });
31584
- tracker.on("end", () => {
31585
- logDetail("Device tracking ended");
31586
- settle({ type: "resolve", value: false });
31587
- });
31588
- tracker.on("remove", (_) => {
31589
- logError("Device removed from tracker");
31590
- settle({ type: "reject", err: new Error("Device removed while waiting for USB debugging") });
31591
- });
31592
- tracker.on("add", (device) => {
31593
- if (device.type === "device") {
31594
- logDetail("Device added to tracker");
31595
- settle({ type: "resolve", value: true });
31596
- }
31597
- });
31598
- tracker.on("change", (device) => {
31599
- if (device.type === "device") {
31600
- logDetail("Device changed in tracker");
31601
- settle({ type: "resolve", value: true });
31602
- }
31612
+ });
31613
+ tracker.on("remove", (_) => {
31614
+ logError("Device removed from tracker");
31615
+ settle({
31616
+ type: "reject",
31617
+ err: new Error("Device removed while waiting for USB debugging")
31618
+ });
31619
+ });
31620
+ tracker.on("add", handleAddOrChange);
31621
+ tracker.on("change", handleAddOrChange);
31603
31622
  });
31604
- });
31623
+ })();
31624
+ return { promise, events };
31605
31625
  }
31606
31626
  async startPortForward(serviceName) {
31607
31627
  if (this.devicePort) {
@@ -31630,6 +31650,9 @@ var import_adbkit = __toESM(require_dist());
31630
31650
  var readAll = import_adbkit.default.util.readAll;
31631
31651
  export {
31632
31652
  AdbDeviceKit,
31653
+ USB_DEBUGGING_EVENT_AUTHORIZED,
31654
+ USB_DEBUGGING_EVENT_NEEDS_ALWAYS_ALLOW,
31655
+ USB_DEBUGGING_EVENT_OFF,
31633
31656
  readAll
31634
31657
  };
31635
31658
  //# sourceMappingURL=index.mjs.map