@yume-chan/android-bin 1.0.0 → 2.0.0
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 +26 -0
- package/LICENSE +1 -1
- package/esm/am.d.ts +4 -2
- package/esm/am.d.ts.map +1 -1
- package/esm/am.js +9 -17
- package/esm/am.js.map +1 -1
- package/esm/bu.d.ts +2 -2
- package/esm/bu.d.ts.map +1 -1
- package/esm/bu.js +6 -14
- package/esm/bu.js.map +1 -1
- package/esm/bug-report.d.ts +2 -2
- package/esm/bug-report.d.ts.map +1 -1
- package/esm/bug-report.js +15 -13
- package/esm/bug-report.js.map +1 -1
- package/esm/cmd.d.ts +18 -20
- package/esm/cmd.d.ts.map +1 -1
- package/esm/cmd.js +84 -63
- package/esm/cmd.js.map +1 -1
- package/esm/demo-mode.d.ts +2 -2
- package/esm/demo-mode.js +3 -3
- package/esm/demo-mode.js.map +1 -1
- package/esm/dumpsys.d.ts +2 -2
- package/esm/dumpsys.js +6 -6
- package/esm/dumpsys.js.map +1 -1
- package/esm/logcat.d.ts +7 -8
- package/esm/logcat.d.ts.map +1 -1
- package/esm/logcat.js +18 -10
- package/esm/logcat.js.map +1 -1
- package/esm/overlay-display.d.ts +2 -2
- package/esm/overlay-display.js +2 -2
- package/esm/pm.d.ts +7 -3
- package/esm/pm.d.ts.map +1 -1
- package/esm/pm.js +81 -88
- package/esm/pm.js.map +1 -1
- package/esm/settings.d.ts +10 -7
- package/esm/settings.d.ts.map +1 -1
- package/esm/settings.js +14 -23
- package/esm/settings.js.map +1 -1
- package/package.json +9 -9
- package/src/am.ts +14 -21
- package/src/bu.ts +6 -14
- package/src/bug-report.ts +16 -16
- package/src/cmd.ts +136 -85
- package/src/demo-mode.ts +3 -3
- package/src/dumpsys.ts +6 -6
- package/src/logcat.ts +26 -15
- package/src/overlay-display.ts +2 -2
- package/src/pm.ts +92 -96
- package/src/settings.ts +20 -28
- package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Change Log - @yume-chan/android-bin
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Redesign subprocess API
|
|
8
|
+
|
|
9
|
+
### Minor Changes
|
|
10
|
+
|
|
11
|
+
- 0f29501: Add `PackageManager.prototype.getPackages` method to get apk paths
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
- Updated dependencies [05c01ad]
|
|
17
|
+
- Updated dependencies [b79df96]
|
|
18
|
+
- @yume-chan/adb@2.0.0
|
|
19
|
+
- @yume-chan/struct@2.0.0
|
|
20
|
+
- @yume-chan/stream-extra@2.0.0
|
|
21
|
+
|
|
22
|
+
## 1.1.0
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [ab98953]
|
|
27
|
+
- @yume-chan/adb@1.1.0
|
|
28
|
+
|
|
3
29
|
## 1.0.1
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
package/LICENSE
CHANGED
package/esm/am.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Adb } from "@yume-chan/adb";
|
|
2
|
-
import {
|
|
2
|
+
import { AdbServiceBase } from "@yume-chan/adb";
|
|
3
3
|
import type { IntentBuilder } from "./intent.js";
|
|
4
4
|
import type { SingleUser } from "./utils.js";
|
|
5
5
|
export interface ActivityManagerStartActivityOptions {
|
|
@@ -9,8 +9,10 @@ export interface ActivityManagerStartActivityOptions {
|
|
|
9
9
|
user?: SingleUser;
|
|
10
10
|
intent: IntentBuilder;
|
|
11
11
|
}
|
|
12
|
-
export declare class ActivityManager extends
|
|
12
|
+
export declare class ActivityManager extends AdbServiceBase {
|
|
13
13
|
#private;
|
|
14
|
+
static ServiceName: string;
|
|
15
|
+
static CommandName: string;
|
|
14
16
|
constructor(adb: Adb);
|
|
15
17
|
startActivity(options: ActivityManagerStartActivityOptions): Promise<void>;
|
|
16
18
|
}
|
package/esm/am.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"am.d.ts","sourceRoot":"","sources":["../src/am.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"am.d.ts","sourceRoot":"","sources":["../src/am.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,WAAW,mCAAmC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACzB;AAWD,qBAAa,eAAgB,SAAQ,cAAc;;IAC/C,MAAM,CAAC,WAAW,SAAc;IAChC,MAAM,CAAC,WAAW,SAAQ;gBAId,GAAG,EAAE,GAAG;IAQd,aAAa,CACf,OAAO,EAAE,mCAAmC,GAC7C,OAAO,CAAC,IAAI,CAAC;CAsBnB"}
|
package/esm/am.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Cmd } from "./cmd.js";
|
|
1
|
+
import { AdbServiceBase } from "@yume-chan/adb";
|
|
2
|
+
import { CmdNoneProtocolService } from "./cmd.js";
|
|
4
3
|
import { buildArguments } from "./utils.js";
|
|
5
4
|
const START_ACTIVITY_OPTIONS_MAP = {
|
|
6
5
|
displayId: "--display",
|
|
@@ -8,26 +7,19 @@ const START_ACTIVITY_OPTIONS_MAP = {
|
|
|
8
7
|
forceStop: "-S",
|
|
9
8
|
user: "--user",
|
|
10
9
|
};
|
|
11
|
-
export class ActivityManager extends
|
|
10
|
+
export class ActivityManager extends AdbServiceBase {
|
|
11
|
+
static ServiceName = "activity";
|
|
12
|
+
static CommandName = "am";
|
|
12
13
|
#cmd;
|
|
13
14
|
constructor(adb) {
|
|
14
15
|
super(adb);
|
|
15
|
-
this.#cmd = new
|
|
16
|
-
}
|
|
17
|
-
async #cmdOrSubprocess(args) {
|
|
18
|
-
if (this.#cmd.supportsCmd) {
|
|
19
|
-
args.shift();
|
|
20
|
-
return await this.#cmd.spawn(false, "activity", ...args);
|
|
21
|
-
}
|
|
22
|
-
return this.adb.subprocess.spawn(args);
|
|
16
|
+
this.#cmd = new CmdNoneProtocolService(adb, ActivityManager.CommandName);
|
|
23
17
|
}
|
|
24
18
|
async startActivity(options) {
|
|
25
|
-
let args = buildArguments([
|
|
19
|
+
let args = buildArguments([ActivityManager.ServiceName, "start-activity", "-W"], options, START_ACTIVITY_OPTIONS_MAP);
|
|
26
20
|
args = args.concat(options.intent.build());
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
.pipeThrough(new TextDecoderStream())
|
|
30
|
-
.pipeThrough(new ConcatStringStream())
|
|
21
|
+
const output = await this.#cmd
|
|
22
|
+
.spawnWaitText(args)
|
|
31
23
|
.then((output) => output.trim());
|
|
32
24
|
for (const line of output) {
|
|
33
25
|
if (line.startsWith("Error:")) {
|
package/esm/am.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"am.js","sourceRoot":"","sources":["../src/am.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"am.js","sourceRoot":"","sources":["../src/am.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAU5C,MAAM,0BAA0B,GAE5B;IACA,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,iBAAiB;IAChC,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAC/C,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAyB;IAE7B,YAAY,GAAQ;QAChB,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,sBAAsB,CAClC,GAAG,EACH,eAAe,CAAC,WAAW,CAC9B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CACf,OAA4C;QAE5C,IAAI,IAAI,GAAG,cAAc,CACrB,CAAC,eAAe,CAAC,WAAW,EAAE,gBAAgB,EAAE,IAAI,CAAC,EACrD,OAAO,EACP,0BAA0B,CAC7B,CAAC;QAEF,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI;aACzB,aAAa,CAAC,IAAI,CAAC;aACnB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtB,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC"}
|
package/esm/bu.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdbServiceBase } from "@yume-chan/adb";
|
|
2
2
|
import type { MaybeConsumable, ReadableStream } from "@yume-chan/stream-extra";
|
|
3
3
|
export interface AdbBackupOptions {
|
|
4
4
|
user: number;
|
|
@@ -14,7 +14,7 @@ export interface AdbRestoreOptions {
|
|
|
14
14
|
user: number;
|
|
15
15
|
file: ReadableStream<MaybeConsumable<Uint8Array>>;
|
|
16
16
|
}
|
|
17
|
-
export declare class AdbBackup extends
|
|
17
|
+
export declare class AdbBackup extends AdbServiceBase {
|
|
18
18
|
/**
|
|
19
19
|
* User must confirm backup on device within 60 seconds.
|
|
20
20
|
*/
|
package/esm/bu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bu.d.ts","sourceRoot":"","sources":["../src/bu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"bu.d.ts","sourceRoot":"","sources":["../src/bu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE/E,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;CACrD;AAED,qBAAa,SAAU,SAAQ,cAAc;IACzC;;OAEG;IACG,MAAM,CACR,OAAO,EAAE,gBAAgB,GAC1B,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAmCtC;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAOvD"}
|
package/esm/bu.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export class AdbBackup extends AdbCommandBase {
|
|
1
|
+
import { AdbServiceBase } from "@yume-chan/adb";
|
|
2
|
+
export class AdbBackup extends AdbServiceBase {
|
|
4
3
|
/**
|
|
5
4
|
* User must confirm backup on device within 60 seconds.
|
|
6
5
|
*/
|
|
@@ -28,26 +27,19 @@ export class AdbBackup extends AdbCommandBase {
|
|
|
28
27
|
else {
|
|
29
28
|
args.push(...options.packages);
|
|
30
29
|
}
|
|
31
|
-
const process = await this.adb.subprocess.spawn(args);
|
|
32
|
-
return process.
|
|
30
|
+
const process = await this.adb.subprocess.noneProtocol.spawn(args);
|
|
31
|
+
return process.output;
|
|
33
32
|
}
|
|
34
33
|
/**
|
|
35
34
|
* User must enter the password (if any) and
|
|
36
35
|
* confirm restore on device within 60 seconds.
|
|
37
36
|
*/
|
|
38
|
-
|
|
37
|
+
restore(options) {
|
|
39
38
|
const args = ["bu", "restore"];
|
|
40
39
|
if (options.user !== undefined) {
|
|
41
40
|
args.push("--user", options.user.toString());
|
|
42
41
|
}
|
|
43
|
-
|
|
44
|
-
const [output] = await Promise.all([
|
|
45
|
-
process.stdout
|
|
46
|
-
.pipeThrough(new TextDecoderStream())
|
|
47
|
-
.pipeThrough(new ConcatStringStream()),
|
|
48
|
-
options.file.pipeTo(process.stdin),
|
|
49
|
-
]);
|
|
50
|
-
return output;
|
|
42
|
+
return this.adb.subprocess.noneProtocol.spawnWaitText(args);
|
|
51
43
|
}
|
|
52
44
|
}
|
|
53
45
|
//# sourceMappingURL=bu.js.map
|
package/esm/bu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bu.js","sourceRoot":"","sources":["../src/bu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"bu.js","sourceRoot":"","sources":["../src/bu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAmBhD,MAAM,OAAO,SAAU,SAAQ,cAAc;IACzC;;OAEG;IACH,KAAK,CAAC,MAAM,CACR,OAAyB;QAEzB,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE9B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAE9D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CACL,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CACjE,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAE7D,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACvC,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvB,KAAK,MAAM;oBACP,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;oBAClC,MAAM;gBACV,KAAK,KAAK;oBACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAC/B,MAAM;YACd,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,OAA0B;QAC9B,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;CACJ"}
|
package/esm/bug-report.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Adb } from "@yume-chan/adb";
|
|
2
|
-
import {
|
|
2
|
+
import { AdbServiceBase } from "@yume-chan/adb";
|
|
3
3
|
import type { AbortSignal, ReadableStream } from "@yume-chan/stream-extra";
|
|
4
4
|
export interface BugReportCapabilities {
|
|
5
5
|
supportsBugReport: boolean;
|
|
@@ -17,7 +17,7 @@ export interface BugReportZOptions {
|
|
|
17
17
|
*/
|
|
18
18
|
onProgress?: ((completed: string, total: string) => void) | undefined;
|
|
19
19
|
}
|
|
20
|
-
export declare class BugReport extends
|
|
20
|
+
export declare class BugReport extends AdbServiceBase {
|
|
21
21
|
#private;
|
|
22
22
|
static VERSION_REGEX: RegExp;
|
|
23
23
|
static BEGIN_REGEX: RegExp;
|
package/esm/bug-report.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bug-report.d.ts","sourceRoot":"","sources":["../src/bug-report.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAW,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"bug-report.d.ts","sourceRoot":"","sources":["../src/bug-report.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAW,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAU3E,MAAM,WAAW,qBAAqB;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,wBAAwB,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACzE;AAED,qBAAa,SAAU,SAAQ,cAAc;;IACzC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAkB;IAE9C,MAAM,CAAC,WAAW,EAAE,MAAM,CAAgB;IAE1C,MAAM,CAAC,cAAc,EAAE,MAAM,CAAyB;IAEtD,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAa;IAEpC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAe;IAExC;;OAEG;WACU,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IAmD5D;;;;OAIG;IACH,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAGD;;;;OAIG;IACH,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAGD;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAGD;;;;OAIG;IACH,IAAI,0BAA0B,IAAI,OAAO,CAExC;IAGD;;;;OAIG;IACH,IAAI,wBAAwB,IAAI,OAAO,CAEtC;gBAEW,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,qBAAqB;IAWzD;;;;OAIG;IACH,SAAS,IAAI,cAAc,CAAC,UAAU,CAAC;IAevC;;;;;;;OAOG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmE9D;;;;OAIG;IACH,gBAAgB,IAAI,cAAc,CAAC,UAAU,CAAC;IAiC9C;;;;;;;;;;OAUG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG;QAChE,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;QACjC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;KACtC;CAsCJ"}
|
package/esm/bug-report.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// cspell: ignore bugreport
|
|
2
2
|
// cspell: ignore bugreportz
|
|
3
|
-
import {
|
|
3
|
+
import { AdbServiceBase } from "@yume-chan/adb";
|
|
4
4
|
import { AbortController, PushReadableStream, SplitStringStream, TextDecoderStream, WrapReadableStream, WritableStream, } from "@yume-chan/stream-extra";
|
|
5
|
-
export class BugReport extends
|
|
5
|
+
export class BugReport extends AdbServiceBase {
|
|
6
6
|
static VERSION_REGEX = /(\d+)\.(\d+)/;
|
|
7
7
|
static BEGIN_REGEX = /BEGIN:(.*)/;
|
|
8
8
|
static PROGRESS_REGEX = /PROGRESS:(.*)\/(.*)/;
|
|
@@ -13,7 +13,7 @@ export class BugReport extends AdbCommandBase {
|
|
|
13
13
|
*/
|
|
14
14
|
static async queryCapabilities(adb) {
|
|
15
15
|
// bugreportz requires shell protocol
|
|
16
|
-
if (!
|
|
16
|
+
if (!adb.subprocess.shellProtocol) {
|
|
17
17
|
return new BugReport(adb, {
|
|
18
18
|
supportsBugReport: true,
|
|
19
19
|
bugReportZVersion: undefined,
|
|
@@ -22,11 +22,11 @@ export class BugReport extends AdbCommandBase {
|
|
|
22
22
|
supportsBugReportZStream: false,
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
-
const
|
|
25
|
+
const result = await adb.subprocess.shellProtocol.spawnWaitText([
|
|
26
26
|
"bugreportz",
|
|
27
27
|
"-v",
|
|
28
28
|
]);
|
|
29
|
-
if (exitCode !== 0 || stderr === "") {
|
|
29
|
+
if (result.exitCode !== 0 || result.stderr === "") {
|
|
30
30
|
return new BugReport(adb, {
|
|
31
31
|
supportsBugReport: true,
|
|
32
32
|
bugReportZVersion: undefined,
|
|
@@ -35,7 +35,7 @@ export class BugReport extends AdbCommandBase {
|
|
|
35
35
|
supportsBugReportZStream: false,
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
-
const match = stderr.match(BugReport.VERSION_REGEX);
|
|
38
|
+
const match = result.stderr.match(BugReport.VERSION_REGEX);
|
|
39
39
|
if (!match) {
|
|
40
40
|
return new BugReport(adb, {
|
|
41
41
|
supportsBugReport: true,
|
|
@@ -122,8 +122,8 @@ export class BugReport extends AdbCommandBase {
|
|
|
122
122
|
}
|
|
123
123
|
return new WrapReadableStream(async () => {
|
|
124
124
|
// https://cs.android.com/android/platform/superproject/+/master:frameworks/native/cmds/bugreport/bugreport.cpp;drc=9b73bf07d73dbab5b792632e1e233edbad77f5fd;bpv=0;bpt=0
|
|
125
|
-
const process = await this.adb.subprocess.spawn(
|
|
126
|
-
return process.
|
|
125
|
+
const process = await this.adb.subprocess.noneProtocol.spawn("bugreport");
|
|
126
|
+
return process.output;
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
@@ -148,9 +148,8 @@ export class BugReport extends AdbCommandBase {
|
|
|
148
148
|
}
|
|
149
149
|
args.push("-p");
|
|
150
150
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
});
|
|
151
|
+
// `subprocess.shellProtocol` must be defined when `this.#supportsBugReportZ` is `true`
|
|
152
|
+
const process = await this.adb.subprocess.shellProtocol.spawn(args);
|
|
154
153
|
options?.signal?.addEventListener("abort", () => {
|
|
155
154
|
void process.kill();
|
|
156
155
|
});
|
|
@@ -196,7 +195,10 @@ export class BugReport extends AdbCommandBase {
|
|
|
196
195
|
*/
|
|
197
196
|
bugReportZStream() {
|
|
198
197
|
return new PushReadableStream(async (controller) => {
|
|
199
|
-
const process = await this.adb.subprocess.spawn([
|
|
198
|
+
const process = await this.adb.subprocess.shellProtocol.spawn([
|
|
199
|
+
"bugreportz",
|
|
200
|
+
"-s",
|
|
201
|
+
]);
|
|
200
202
|
process.stdout
|
|
201
203
|
.pipeTo(new WritableStream({
|
|
202
204
|
async write(chunk) {
|
|
@@ -216,7 +218,7 @@ export class BugReport extends AdbCommandBase {
|
|
|
216
218
|
.catch((e) => {
|
|
217
219
|
controller.error(e);
|
|
218
220
|
});
|
|
219
|
-
await process.
|
|
221
|
+
await process.exited;
|
|
220
222
|
});
|
|
221
223
|
}
|
|
222
224
|
/**
|
package/esm/bug-report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bug-report.js","sourceRoot":"","sources":["../src/bug-report.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,4BAA4B;AAG5B,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"bug-report.js","sourceRoot":"","sources":["../src/bug-report.ts"],"names":[],"mappings":"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"}
|
package/esm/cmd.d.ts
CHANGED
|
@@ -1,25 +1,23 @@
|
|
|
1
|
-
import type { Adb
|
|
2
|
-
import {
|
|
3
|
-
export declare class
|
|
1
|
+
import type { Adb } from "@yume-chan/adb";
|
|
2
|
+
import { AdbNoneProtocolSpawner, AdbServiceBase, AdbShellProtocolSpawner } from "@yume-chan/adb";
|
|
3
|
+
export declare class CmdNoneProtocolService extends AdbNoneProtocolSpawner {
|
|
4
|
+
#private;
|
|
5
|
+
get supportsAbbExec(): boolean;
|
|
6
|
+
get supportsCmd(): boolean;
|
|
7
|
+
get isSupported(): boolean;
|
|
8
|
+
constructor(adb: Adb, fallback?: string | Record<string, string> | ((service: string) => string));
|
|
9
|
+
}
|
|
10
|
+
export declare class CmdShellProtocolService extends AdbShellProtocolSpawner {
|
|
4
11
|
#private;
|
|
5
|
-
get supportsShellV2(): boolean;
|
|
6
12
|
get supportsCmd(): boolean;
|
|
7
13
|
get supportsAbb(): boolean;
|
|
8
|
-
get
|
|
9
|
-
constructor(adb: Adb);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* `cmd` doesn't use PTY, so even when shell protocol is used,
|
|
17
|
-
* resizing terminal size and closing `stdin` are not supported.
|
|
18
|
-
* @param command The command to run.
|
|
19
|
-
* @param args The arguments to pass to the command.
|
|
20
|
-
* @returns An `AdbSubprocessProtocol` that provides output streams.
|
|
21
|
-
*/
|
|
22
|
-
spawn(shellProtocol: boolean, command: string, ...args: string[]): Promise<AdbSubprocessProtocol>;
|
|
23
|
-
spawnAndWait(command: string, ...args: string[]): Promise<AdbSubprocessWaitResult>;
|
|
14
|
+
get isSupported(): boolean;
|
|
15
|
+
constructor(adb: Adb, fallback?: string | Record<string, string> | ((service: string) => string));
|
|
16
|
+
}
|
|
17
|
+
export declare class Cmd extends AdbServiceBase {
|
|
18
|
+
#private;
|
|
19
|
+
get noneProtocol(): CmdNoneProtocolService | undefined;
|
|
20
|
+
get shellProtocol(): CmdShellProtocolService | undefined;
|
|
21
|
+
constructor(adb: Adb, fallback?: string | Record<string, string> | ((service: string) => string));
|
|
24
22
|
}
|
|
25
23
|
//# sourceMappingURL=cmd.d.ts.map
|
package/esm/cmd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAA2B,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAGH,sBAAsB,EACtB,cAAc,EAEd,uBAAuB,EAC1B,MAAM,gBAAgB,CAAC;AAExB,qBAAa,sBAAuB,SAAQ,sBAAsB;;IAE9D,IAAI,eAAe,IAAI,OAAO,CAE7B;IAGD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,WAAW,YAEd;gBAGG,GAAG,EAAE,GAAG,EACR,QAAQ,CAAC,EACH,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAgC1C;AAED,qBAAa,uBAAwB,SAAQ,uBAAuB;;IAIhE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAGD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,WAAW,YAKd;gBAGG,GAAG,EAAE,GAAG,EACR,QAAQ,CAAC,EACH,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAqC1C;AAED,qBAAa,GAAI,SAAQ,cAAc;;IAEnC,IAAI,YAAY,uCAEf;IAGD,IAAI,aAAa,wCAEhB;gBAGG,GAAG,EAAE,GAAG,EACR,QAAQ,CAAC,EACH,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAmB1C"}
|
package/esm/cmd.js
CHANGED
|
@@ -1,10 +1,42 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { AdbFeature, AdbNoneProtocolProcessImpl, AdbNoneProtocolSpawner, AdbServiceBase, AdbShellProtocolProcessImpl, AdbShellProtocolSpawner, } from "@yume-chan/adb";
|
|
2
|
+
export class CmdNoneProtocolService extends AdbNoneProtocolSpawner {
|
|
3
|
+
#supportsAbbExec;
|
|
4
|
+
get supportsAbbExec() {
|
|
5
|
+
return this.#supportsAbbExec;
|
|
6
|
+
}
|
|
7
|
+
#supportsCmd;
|
|
8
|
+
get supportsCmd() {
|
|
9
|
+
return this.#supportsCmd;
|
|
10
|
+
}
|
|
11
|
+
get isSupported() {
|
|
12
|
+
return this.#supportsAbbExec || this.#supportsCmd;
|
|
13
|
+
}
|
|
14
|
+
constructor(adb, fallback) {
|
|
15
|
+
super(async (command) => {
|
|
16
|
+
if (this.#supportsAbbExec) {
|
|
17
|
+
return new AdbNoneProtocolProcessImpl(await adb.createSocket(`abb_exec:${command.join("\0")}\0`));
|
|
18
|
+
}
|
|
19
|
+
if (this.#supportsCmd) {
|
|
20
|
+
return adb.subprocess.noneProtocol.spawn(`cmd ${command.join(" ")}`);
|
|
21
|
+
}
|
|
22
|
+
if (typeof fallback === "function") {
|
|
23
|
+
fallback = fallback(command[0]);
|
|
24
|
+
}
|
|
25
|
+
else if (typeof fallback === "object") {
|
|
26
|
+
fallback = fallback[command[0]];
|
|
27
|
+
}
|
|
28
|
+
if (!fallback) {
|
|
29
|
+
throw new Error("Unsupported");
|
|
30
|
+
}
|
|
31
|
+
command[0] = fallback;
|
|
32
|
+
return adb.subprocess.noneProtocol.spawn(command);
|
|
33
|
+
});
|
|
34
|
+
this.#supportsCmd = adb.canUseFeature(AdbFeature.Cmd);
|
|
35
|
+
this.#supportsAbbExec = adb.canUseFeature(AdbFeature.AbbExec);
|
|
7
36
|
}
|
|
37
|
+
}
|
|
38
|
+
export class CmdShellProtocolService extends AdbShellProtocolSpawner {
|
|
39
|
+
#adb;
|
|
8
40
|
#supportsCmd;
|
|
9
41
|
get supportsCmd() {
|
|
10
42
|
return this.#supportsCmd;
|
|
@@ -13,69 +45,58 @@ export class Cmd extends AdbCommandBase {
|
|
|
13
45
|
get supportsAbb() {
|
|
14
46
|
return this.#supportsAbb;
|
|
15
47
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
48
|
+
get isSupported() {
|
|
49
|
+
return (this.#supportsAbb ||
|
|
50
|
+
(this.#supportsCmd && !!this.#adb.subprocess.shellProtocol));
|
|
19
51
|
}
|
|
20
|
-
constructor(adb) {
|
|
21
|
-
super(
|
|
22
|
-
|
|
52
|
+
constructor(adb, fallback) {
|
|
53
|
+
super(async (command) => {
|
|
54
|
+
if (this.#supportsAbb) {
|
|
55
|
+
return new AdbShellProtocolProcessImpl(await this.#adb.createSocket(`abb:${command.join("\0")}\0`));
|
|
56
|
+
}
|
|
57
|
+
if (!adb.subprocess.shellProtocol) {
|
|
58
|
+
throw new Error("Unsupported");
|
|
59
|
+
}
|
|
60
|
+
if (this.#supportsCmd) {
|
|
61
|
+
return adb.subprocess.shellProtocol.spawn(`cmd ${command.join(" ")}`);
|
|
62
|
+
}
|
|
63
|
+
if (typeof fallback === "function") {
|
|
64
|
+
fallback = fallback(command[0]);
|
|
65
|
+
}
|
|
66
|
+
else if (typeof fallback === "object") {
|
|
67
|
+
fallback = fallback[command[0]];
|
|
68
|
+
}
|
|
69
|
+
if (!fallback) {
|
|
70
|
+
throw new Error("Unsupported");
|
|
71
|
+
}
|
|
72
|
+
command[0] = fallback;
|
|
73
|
+
return adb.subprocess.shellProtocol.spawn(command);
|
|
74
|
+
});
|
|
75
|
+
this.#adb = adb;
|
|
23
76
|
this.#supportsCmd = adb.canUseFeature(AdbFeature.Cmd);
|
|
24
77
|
this.#supportsAbb = adb.canUseFeature(AdbFeature.Abb);
|
|
25
|
-
this.#supportsAbbExec = adb.canUseFeature(AdbFeature.AbbExec);
|
|
26
78
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
let service;
|
|
43
|
-
let Protocol;
|
|
44
|
-
if (shellProtocol) {
|
|
45
|
-
supportsAbb = this.#supportsAbb;
|
|
46
|
-
supportsCmd &&= this.supportsShellV2;
|
|
47
|
-
service = "abb";
|
|
48
|
-
Protocol = AdbSubprocessShellProtocol;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
supportsAbb = this.#supportsAbbExec;
|
|
52
|
-
service = "abb_exec";
|
|
53
|
-
Protocol = AdbSubprocessNoneProtocol;
|
|
54
|
-
}
|
|
55
|
-
if (supportsAbb) {
|
|
56
|
-
return new Protocol(await this.adb.createSocket(`${service}:${command}\0${args.join("\0")}\0`));
|
|
79
|
+
}
|
|
80
|
+
export class Cmd extends AdbServiceBase {
|
|
81
|
+
#noneProtocol;
|
|
82
|
+
get noneProtocol() {
|
|
83
|
+
return this.#noneProtocol;
|
|
84
|
+
}
|
|
85
|
+
#shellProtocol;
|
|
86
|
+
get shellProtocol() {
|
|
87
|
+
return this.#shellProtocol;
|
|
88
|
+
}
|
|
89
|
+
constructor(adb, fallback) {
|
|
90
|
+
super(adb);
|
|
91
|
+
if (adb.canUseFeature(AdbFeature.AbbExec) ||
|
|
92
|
+
adb.canUseFeature(AdbFeature.Cmd)) {
|
|
93
|
+
this.#noneProtocol = new CmdNoneProtocolService(adb, fallback);
|
|
57
94
|
}
|
|
58
|
-
if (
|
|
59
|
-
|
|
95
|
+
if (adb.canUseFeature(AdbFeature.Abb) ||
|
|
96
|
+
(adb.canUseFeature(AdbFeature.Cmd) &&
|
|
97
|
+
adb.canUseFeature(AdbFeature.ShellV2))) {
|
|
98
|
+
this.#shellProtocol = new CmdShellProtocolService(adb, fallback);
|
|
60
99
|
}
|
|
61
|
-
throw new Error("Not supported");
|
|
62
|
-
}
|
|
63
|
-
async spawnAndWait(command, ...args) {
|
|
64
|
-
const process = await this.spawn(true, command, ...args);
|
|
65
|
-
const [stdout, stderr, exitCode] = await Promise.all([
|
|
66
|
-
process.stdout
|
|
67
|
-
.pipeThrough(new TextDecoderStream())
|
|
68
|
-
.pipeThrough(new ConcatStringStream()),
|
|
69
|
-
process.stderr
|
|
70
|
-
.pipeThrough(new TextDecoderStream())
|
|
71
|
-
.pipeThrough(new ConcatStringStream()),
|
|
72
|
-
process.exit,
|
|
73
|
-
]);
|
|
74
|
-
return {
|
|
75
|
-
stdout,
|
|
76
|
-
stderr,
|
|
77
|
-
exitCode,
|
|
78
|
-
};
|
|
79
100
|
}
|
|
80
101
|
}
|
|
81
102
|
//# sourceMappingURL=cmd.js.map
|
package/esm/cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"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"}
|
package/esm/demo-mode.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Adb } from "@yume-chan/adb";
|
|
2
|
-
import {
|
|
2
|
+
import { AdbServiceBase } from "@yume-chan/adb";
|
|
3
3
|
export declare enum DemoModeSignalStrength {
|
|
4
4
|
Hidden = "null",
|
|
5
5
|
Level0 = "0",
|
|
@@ -12,7 +12,7 @@ export declare const DemoModeMobileDataTypes: readonly ["1x", "3g", "4g", "4g+",
|
|
|
12
12
|
export type DemoModeMobileDataType = (typeof DemoModeMobileDataTypes)[number];
|
|
13
13
|
export declare const DemoModeStatusBarModes: readonly ["opaque", "translucent", "semi-transparent", "transparent", "warning"];
|
|
14
14
|
export type DemoModeStatusBarMode = (typeof DemoModeStatusBarModes)[number];
|
|
15
|
-
export declare class DemoMode extends
|
|
15
|
+
export declare class DemoMode extends AdbServiceBase {
|
|
16
16
|
#private;
|
|
17
17
|
constructor(adb: Adb);
|
|
18
18
|
static readonly ALLOWED_SETTING_KEY = "sysui_demo_allowed";
|
package/esm/demo-mode.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// cspell: ignore nosim
|
|
4
4
|
// cspell: ignore systemui
|
|
5
5
|
// cspell: ignore sysui
|
|
6
|
-
import {
|
|
6
|
+
import { AdbServiceBase } from "@yume-chan/adb";
|
|
7
7
|
import { Settings } from "./settings.js";
|
|
8
8
|
export var DemoModeSignalStrength;
|
|
9
9
|
(function (DemoModeSignalStrength) {
|
|
@@ -41,7 +41,7 @@ export const DemoModeStatusBarModes = [
|
|
|
41
41
|
"transparent",
|
|
42
42
|
"warning",
|
|
43
43
|
];
|
|
44
|
-
export class DemoMode extends
|
|
44
|
+
export class DemoMode extends AdbServiceBase {
|
|
45
45
|
#settings;
|
|
46
46
|
constructor(adb) {
|
|
47
47
|
super(adb);
|
|
@@ -79,7 +79,7 @@ export class DemoMode extends AdbCommandBase {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
async broadcast(command, extra) {
|
|
82
|
-
await this.adb.subprocess.
|
|
82
|
+
await this.adb.subprocess.noneProtocol.spawnWaitText([
|
|
83
83
|
"am",
|
|
84
84
|
"broadcast",
|
|
85
85
|
"-a",
|