@yume-chan/android-bin 0.0.23 → 0.0.24

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/esm/pm.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // cspell:ignore apks
4
4
  // cspell:ignore versioncode
5
5
  import { AdbCommandBase, escapeArg } from "@yume-chan/adb";
6
- import { ConcatStringStream, DecodeUtf8Stream, SplitStringStream, } from "@yume-chan/stream-extra";
6
+ import { ConcatStringStream, SplitStringStream, TextDecoderStream, } from "@yume-chan/stream-extra";
7
7
  import { Cmd } from "./cmd.js";
8
8
  import { buildArguments } from "./utils.js";
9
9
  export var PackageManagerInstallLocation;
@@ -82,7 +82,17 @@ export class PackageManager extends AdbCommandBase {
82
82
  #buildInstallArguments(command, options) {
83
83
  const args = buildArguments(["pm", command], options, PACKAGE_MANAGER_INSTALL_OPTIONS_MAP);
84
84
  if (!options?.skipExisting) {
85
- // Compatibility with old versions of pm
85
+ /*
86
+ * | behavior | previous version | modern version |
87
+ * | -------------------- | -------------------- | -------------------- |
88
+ * | replace existing app | requires `-r` | default behavior [1] |
89
+ * | skip existing app | default behavior [2] | requires `-R` |
90
+ *
91
+ * [1]: `-r` recognized but ignored)
92
+ * [2]: `-R` not recognized but ignored
93
+ *
94
+ * So add `-r` when `skipExisting` is `false` for compatibility.
95
+ */
86
96
  args.push("-r");
87
97
  }
88
98
  return args;
@@ -111,10 +121,15 @@ export class PackageManager extends AdbCommandBase {
111
121
  finally {
112
122
  await sync.dispose();
113
123
  }
114
- // Starting from Android 7, `pm` is only a wrapper for `cmd package`,
115
- // and `cmd package` launches faster than `pm`.
116
- // But `cmd package` can't read `/data/local/tmp` folder due to SELinux policy,
117
- // so installing a file must use `pm`.
124
+ // Starting from Android 7, `pm` becomes a wrapper to `cmd package`.
125
+ // The benefit of `cmd package` is it starts faster than the old `pm`,
126
+ // because it connects to the already running `system` process,
127
+ // instead of initializing all system components from scratch.
128
+ //
129
+ // But launching `cmd package` directly causes it to not be able to
130
+ // read files in `/data/local/tmp` (and many other places) due to SELinux policies,
131
+ // so installing files must still use `pm`.
132
+ // (the starting executable file decides which SELinux policies to apply)
118
133
  const args = this.#buildInstallArguments("install", options);
119
134
  args.push(filePath);
120
135
  try {
@@ -131,19 +146,22 @@ export class PackageManager extends AdbCommandBase {
131
146
  }
132
147
  async installStream(size, stream, options) {
133
148
  // Android 7 added both `cmd` command and streaming install support,
134
- // we can't detect whether `pm` supports streaming install,
135
- // so we detect `cmd` command support instead.
149
+ // It's hard to detect whether `pm` supports streaming install (unless actually trying),
150
+ // so check for whether `cmd` is supported,
151
+ // and assume `pm` streaming install support status is same as that.
136
152
  if (!this.#cmd.supportsCmd) {
153
+ // Fall back to push file then install
137
154
  await this.pushAndInstallStream(stream, options);
138
155
  return;
139
156
  }
140
157
  const args = this.#buildInstallArguments("install", options);
141
- // Remove `pm` from args, final command will starts with `cmd package install`
158
+ // Remove `pm` from args, `Cmd#spawn` will prepend `cmd <command>` so the final args
159
+ // will be `cmd package install <args>`
142
160
  args.shift();
143
161
  args.push("-S", size.toString());
144
162
  const process = await this.#cmd.spawn(false, "package", ...args);
145
163
  const output = process.stdout
146
- .pipeThrough(new DecodeUtf8Stream())
164
+ .pipeThrough(new TextDecoderStream())
147
165
  .pipeThrough(new ConcatStringStream())
148
166
  .then((output) => output.trim());
149
167
  await Promise.all([
@@ -162,7 +180,7 @@ export class PackageManager extends AdbCommandBase {
162
180
  let versionCode;
163
181
  let installer;
164
182
  let uid;
165
- // Parse backwards
183
+ // The output format is easier to parse in backwards
166
184
  let index = line.indexOf(" uid:");
167
185
  if (index !== -1) {
168
186
  uid = Number.parseInt(line.substring(index + " uid:".length), 10);
@@ -178,7 +196,9 @@ export class PackageManager extends AdbCommandBase {
178
196
  versionCode = Number.parseInt(line.substring(index + " versionCode:".length), 10);
179
197
  line = line.substring(0, index);
180
198
  }
181
- // `sourceDir` may contain `=` so use `lastIndexOf`
199
+ // `sourceDir` may contain `=` characters
200
+ // (because in newer Android versions it's a base64 string of encrypted package name),
201
+ // so use `lastIndexOf`
182
202
  index = line.lastIndexOf("=");
183
203
  if (index !== -1) {
184
204
  sourceDir = line.substring(0, index);
@@ -209,7 +229,10 @@ export class PackageManager extends AdbCommandBase {
209
229
  }
210
230
  const process = await this.#cmdOrSubprocess(args);
211
231
  const reader = process.stdout
212
- .pipeThrough(new DecodeUtf8Stream())
232
+ .pipeThrough(new TextDecoderStream())
233
+ // FIXME: `SplitStringStream` will throw away some data
234
+ // if it doesn't end with a separator. So each chunk of data
235
+ // must contain several complete lines.
213
236
  .pipeThrough(new SplitStringStream("\n"))
214
237
  .getReader();
215
238
  while (true) {
@@ -228,7 +251,7 @@ export class PackageManager extends AdbCommandBase {
228
251
  }
229
252
  const process = await this.#cmdOrSubprocess(args);
230
253
  const output = await process.stdout
231
- .pipeThrough(new DecodeUtf8Stream())
254
+ .pipeThrough(new TextDecoderStream())
232
255
  .pipeThrough(new ConcatStringStream())
233
256
  .then((output) => output.trim());
234
257
  if (output !== "Success") {
@@ -240,7 +263,7 @@ export class PackageManager extends AdbCommandBase {
240
263
  args = args.concat(options.intent.build());
241
264
  const process = await this.#cmdOrSubprocess(args);
242
265
  const output = await process.stdout
243
- .pipeThrough(new DecodeUtf8Stream())
266
+ .pipeThrough(new TextDecoderStream())
244
267
  .pipeThrough(new ConcatStringStream())
245
268
  .then((output) => output.trim());
246
269
  if (output === "No activity found") {
@@ -262,7 +285,7 @@ export class PackageManager extends AdbCommandBase {
262
285
  const args = this.#buildInstallArguments("install-create", options);
263
286
  const process = await this.#cmdOrSubprocess(args);
264
287
  const output = await process.stdout
265
- .pipeThrough(new DecodeUtf8Stream())
288
+ .pipeThrough(new TextDecoderStream())
266
289
  .pipeThrough(new ConcatStringStream())
267
290
  .then((output) => output.trim());
268
291
  const sessionIdString = output.match(/.*\[(\d+)\].*/);
@@ -298,7 +321,7 @@ export class PackageManager extends AdbCommandBase {
298
321
  ];
299
322
  const process = await this.#cmdOrSubprocess(args);
300
323
  const output = process.stdout
301
- .pipeThrough(new DecodeUtf8Stream())
324
+ .pipeThrough(new TextDecoderStream())
302
325
  .pipeThrough(new ConcatStringStream())
303
326
  .then((output) => output.trim());
304
327
  await Promise.all([
package/esm/pm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pm.js","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pm.js","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"string-format.d.ts","sourceRoot":"","sources":["../src/string-format.ts"],"names":[],"mappings":"AACA,qBAAa,UAAW,SAAQ,KAAK;;IAGjC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;gBAEW,QAAQ,EAAE,MAAM,EAAE;CAIjC;AAED,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;IACzB,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;CAC/B;AAED,KAAK,WAAW,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAC5D;KACK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC3D,CAAC,MAAM,CAAC,EACT,SAAS,CACZ,CAAC;AAEF,KAAK,cAAc,CACf,CAAC,SAAS,SAAS,CACb,MAAM,CAAC,OAAO,CAAC,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,CAC9C,EAAE,IACH;KACC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,GAChC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;KAAE,GACzC,CAAC,GACD,KAAK,GACT,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACrE,SAAS,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,CAAC,GACD,KAAK,CAAC;AAEZ,eAAO,MAAM,CAAC;uCACyB,CAAC,KAAG,OAAO,CAAC,CAAC;kBAYpC,OAAO,MAAM,CAAC;;gCA6CX,MAAM;;;cAsDH,MAAM;gBAAU,OAAO,OAAO,CAAC;;4DA8B1B,CAAC,mBACH,CAAC,aACnB,OAAO,CAAC,CAAC;CAQ+C,CAAC"}
1
+ {"version":3,"file":"string-format.d.ts","sourceRoot":"","sources":["../src/string-format.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;;IAGjC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;gBAEW,QAAQ,EAAE,MAAM,EAAE;CAIjC;AAED,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;IACzB,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;CAC/B;AAED,KAAK,WAAW,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAC5D;KACK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC3D,CAAC,MAAM,CAAC,EACT,SAAS,CACZ,CAAC;AAEF,KAAK,cAAc,CACf,CAAC,SAAS,SAAS,CACb,MAAM,CAAC,OAAO,CAAC,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,CAC9C,EAAE,IACH;KACC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,GAChC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;KAAE,GACzC,CAAC,GACD,KAAK,GACT,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACrE,SAAS,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,CAAC,GACD,KAAK,CAAC;AAEZ,eAAO,MAAM,CAAC;uCACyB,CAAC,KAAG,OAAO,CAAC,CAAC;kBAYpC,OAAO,MAAM,CAAC;;gCA6CX,MAAM;;;cAsDH,MAAM;gBAAU,OAAO,OAAO,CAAC;;4DA8B1B,CAAC,mBACH,CAAC,aACnB,OAAO,CAAC,CAAC;CAQ+C,CAAC"}
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
2
1
  export class ParseError extends Error {
3
2
  #expected;
4
3
  get expected() {
@@ -1 +1 @@
1
- {"version":3,"file":"string-format.js","sourceRoot":"","sources":["../src/string-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-format.js","sourceRoot":"","sources":["../src/string-format.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yume-chan/android-bin",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "description": "Wrappers for Android built-in executables.",
5
5
  "keywords": [
6
6
  "adb",
@@ -25,26 +25,24 @@
25
25
  "main": "esm/index.js",
26
26
  "types": "esm/index.d.ts",
27
27
  "dependencies": {
28
- "@yume-chan/adb": "^0.0.23",
29
- "@yume-chan/stream-extra": "^0.0.23",
30
- "@yume-chan/struct": "^0.0.23",
31
- "tslib": "^2.6.2"
28
+ "@yume-chan/adb": "^0.0.24",
29
+ "@yume-chan/stream-extra": "^0.0.24",
30
+ "@yume-chan/struct": "^0.0.24"
32
31
  },
33
32
  "devDependencies": {
34
- "@jest/globals": "^30.0.0-alpha.3",
33
+ "@jest/globals": "^30.0.0-alpha.4",
35
34
  "@yume-chan/eslint-config": "^1.0.0",
36
35
  "@yume-chan/tsconfig": "^1.0.0",
37
36
  "cross-env": "^7.0.3",
38
- "eslint": "^8.57.0",
39
- "jest": "^30.0.0-alpha.3",
40
- "prettier": "^3.2.5",
41
- "ts-jest": "^29.1.2",
42
- "typescript": "^5.4.2"
37
+ "jest": "^30.0.0-alpha.4",
38
+ "prettier": "^3.3.2",
39
+ "ts-jest": "^29.1.4",
40
+ "typescript": "^5.4.5"
43
41
  },
44
42
  "scripts": {
45
43
  "build": "tsc -b tsconfig.build.json",
46
44
  "build:watch": "tsc -b tsconfig.build.json",
47
45
  "test": "cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" TS_JEST_DISABLE_VER_CHECKER=true jest --coverage",
48
- "lint": "eslint src/**/*.ts --fix && prettier src/**/*.ts --write --tab-width 4"
46
+ "lint": "run-eslint && prettier src/**/*.ts --write --tab-width 4"
49
47
  }
50
48
  }
package/src/am.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Adb } from "@yume-chan/adb";
2
2
  import { AdbCommandBase } from "@yume-chan/adb";
3
- import { ConcatStringStream, DecodeUtf8Stream } from "@yume-chan/stream-extra";
3
+ import { ConcatStringStream, TextDecoderStream } from "@yume-chan/stream-extra";
4
4
 
5
5
  import { Cmd } from "./cmd.js";
6
6
  import type { IntentBuilder } from "./intent.js";
@@ -53,7 +53,7 @@ export class ActivityManager extends AdbCommandBase {
53
53
  const process = await this.#cmdOrSubprocess(args);
54
54
 
55
55
  const output = await process.stdout
56
- .pipeThrough(new DecodeUtf8Stream())
56
+ .pipeThrough(new TextDecoderStream())
57
57
  .pipeThrough(new ConcatStringStream())
58
58
  .then((output) => output.trim());
59
59
 
package/src/bu.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AdbCommandBase } from "@yume-chan/adb";
2
- import type { Consumable, ReadableStream } from "@yume-chan/stream-extra";
3
- import { ConcatStringStream, DecodeUtf8Stream } from "@yume-chan/stream-extra";
2
+ import type { MaybeConsumable, ReadableStream } from "@yume-chan/stream-extra";
3
+ import { ConcatStringStream, TextDecoderStream } from "@yume-chan/stream-extra";
4
4
 
5
5
  export interface AdbBackupOptions {
6
6
  user: number;
@@ -15,7 +15,7 @@ export interface AdbBackupOptions {
15
15
 
16
16
  export interface AdbRestoreOptions {
17
17
  user: number;
18
- file: ReadableStream<Consumable<Uint8Array>>;
18
+ file: ReadableStream<MaybeConsumable<Uint8Array>>;
19
19
  }
20
20
 
21
21
  export class AdbBackup extends AdbCommandBase {
@@ -71,7 +71,7 @@ export class AdbBackup extends AdbCommandBase {
71
71
  const process = await this.adb.subprocess.spawn(args);
72
72
  const [output] = await Promise.all([
73
73
  process.stdout
74
- .pipeThrough(new DecodeUtf8Stream())
74
+ .pipeThrough(new TextDecoderStream())
75
75
  .pipeThrough(new ConcatStringStream()),
76
76
  options.file.pipeTo(process.stdin),
77
77
  ]);
package/src/bug-report.ts CHANGED
@@ -6,9 +6,9 @@ import { AdbCommandBase, AdbSubprocessShellProtocol } from "@yume-chan/adb";
6
6
  import type { AbortSignal, ReadableStream } from "@yume-chan/stream-extra";
7
7
  import {
8
8
  AbortController,
9
- DecodeUtf8Stream,
10
9
  PushReadableStream,
11
10
  SplitStringStream,
11
+ TextDecoderStream,
12
12
  WrapReadableStream,
13
13
  WritableStream,
14
14
  } from "@yume-chan/stream-extra";
@@ -212,7 +212,7 @@ export class BugReport extends AdbCommandBase {
212
212
  let error: string | undefined;
213
213
 
214
214
  await process.stdout
215
- .pipeThrough(new DecodeUtf8Stream())
215
+ .pipeThrough(new TextDecoderStream())
216
216
  .pipeThrough(new SplitStringStream("\n"))
217
217
  .pipeTo(
218
218
  new WritableStream<string>({
@@ -278,7 +278,7 @@ export class BugReport extends AdbCommandBase {
278
278
  controller.error(e);
279
279
  });
280
280
  process.stderr
281
- .pipeThrough(new DecodeUtf8Stream())
281
+ .pipeThrough(new TextDecoderStream())
282
282
  .pipeTo(
283
283
  new WritableStream({
284
284
  write(chunk) {
package/src/cmd.ts CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  AdbSubprocessNoneProtocol,
11
11
  AdbSubprocessShellProtocol,
12
12
  } from "@yume-chan/adb";
13
- import { ConcatStringStream, DecodeUtf8Stream } from "@yume-chan/stream-extra";
13
+ import { ConcatStringStream, TextDecoderStream } from "@yume-chan/stream-extra";
14
14
 
15
15
  export class Cmd extends AdbCommandBase {
16
16
  #supportsShellV2: boolean;
@@ -41,6 +41,18 @@ export class Cmd extends AdbCommandBase {
41
41
  this.#supportsAbbExec = adb.canUseFeature(AdbFeature.AbbExec);
42
42
  }
43
43
 
44
+ /**
45
+ * Spawn a new `cmd` command. It will use ADB's `abb` command if available.
46
+ *
47
+ * @param shellProtocol
48
+ * Whether to use shell protocol. If `true`, `stdout` and `stderr` will be separated.
49
+ *
50
+ * `cmd` doesn't use PTY, so even when shell protocol is used,
51
+ * resizing terminal size and closing `stdin` are not supported.
52
+ * @param command The command to run.
53
+ * @param args The arguments to pass to the command.
54
+ * @returns An `AdbSubprocessProtocol` that provides output streams.
55
+ */
44
56
  async spawn(
45
57
  shellProtocol: boolean,
46
58
  command: string,
@@ -84,10 +96,10 @@ export class Cmd extends AdbCommandBase {
84
96
 
85
97
  const [stdout, stderr, exitCode] = await Promise.all([
86
98
  process.stdout
87
- .pipeThrough(new DecodeUtf8Stream())
99
+ .pipeThrough(new TextDecoderStream())
88
100
  .pipeThrough(new ConcatStringStream()),
89
101
  process.stderr
90
- .pipeThrough(new DecodeUtf8Stream())
102
+ .pipeThrough(new TextDecoderStream())
91
103
  .pipeThrough(new ConcatStringStream()),
92
104
  process.exit,
93
105
  ]);
package/src/dumpsys.ts CHANGED
@@ -1,5 +1,36 @@
1
1
  import { AdbCommandBase } from "@yume-chan/adb";
2
2
 
3
+ const BatteryDumpFields: Record<
4
+ string,
5
+ {
6
+ type: "number" | "boolean" | "string";
7
+ field: keyof DumpSys.Battery.Info;
8
+ }
9
+ > = {
10
+ "AC powered": { type: "boolean", field: "acPowered" },
11
+ "USB powered": { type: "boolean", field: "usbPowered" },
12
+ "Wireless powered": { type: "boolean", field: "wirelessPowered" },
13
+ "Dock powered": { type: "boolean", field: "dockPowered" },
14
+ "Max charging current": {
15
+ type: "number",
16
+ field: "maxChargingCurrent",
17
+ },
18
+ "Max charging voltage": {
19
+ type: "number",
20
+ field: "maxChargingVoltage",
21
+ },
22
+ "Charge counter": { type: "number", field: "chargeCounter" },
23
+ status: { type: "number", field: "status" },
24
+ health: { type: "number", field: "health" },
25
+ present: { type: "boolean", field: "present" },
26
+ level: { type: "number", field: "level" },
27
+ scale: { type: "number", field: "scale" },
28
+ voltage: { type: "number", field: "voltage" },
29
+ temperature: { type: "number", field: "temperature" },
30
+ technology: { type: "string", field: "technology" },
31
+ current: { type: "number", field: "current" },
32
+ };
33
+
3
34
  export class DumpSys extends AdbCommandBase {
4
35
  async diskStats() {
5
36
  const output = await this.adb.subprocess.spawnAndWaitLegacy([
@@ -40,74 +71,67 @@ export class DumpSys extends AdbCommandBase {
40
71
  "battery",
41
72
  ]);
42
73
 
43
- let acPowered = false;
44
- let usbPowered = false;
45
- let wirelessPowered = false;
46
- let level: number | undefined;
47
- let scale: number | undefined;
48
- let voltage: number | undefined;
49
- let current: number | undefined;
50
- let status: DumpSys.Battery.Status | undefined;
51
- let health: DumpSys.Battery.Health | undefined;
74
+ const info: DumpSys.Battery.Info = {
75
+ acPowered: false,
76
+ usbPowered: false,
77
+ wirelessPowered: false,
78
+ dockPowered: false,
79
+ status: DumpSys.Battery.Status.Unknown,
80
+ health: DumpSys.Battery.Health.Unknown,
81
+ };
82
+
52
83
  for (const line of output.split("\n")) {
53
- const parts = line.split(":");
84
+ const parts = line.split(":").map((part) => part.trim());
54
85
  if (parts.length !== 2) {
55
86
  continue;
56
87
  }
57
88
 
58
- switch (parts[0]!.trim()) {
59
- case "AC powered":
60
- acPowered = parts[1]!.trim() === "true";
61
- break;
62
- case "USB powered":
63
- usbPowered = parts[1]!.trim() === "true";
64
- break;
65
- case "Wireless powered":
66
- wirelessPowered = parts[1]!.trim() === "true";
67
- break;
68
- case "level":
69
- level = Number.parseInt(parts[1]!.trim(), 10);
70
- break;
71
- case "scale":
72
- scale = Number.parseInt(parts[1]!.trim(), 10);
73
- break;
74
- case "voltage":
75
- voltage = Number.parseInt(parts[1]!.trim(), 10);
76
- break;
77
- case "current now":
78
- current = Number.parseInt(parts[1]!.trim(), 10);
89
+ const field = BatteryDumpFields[parts[0]!];
90
+ if (!field) {
91
+ continue;
92
+ }
93
+
94
+ switch (field.type) {
95
+ case "boolean":
96
+ info[field.field] = (parts[1]!.trim() === "true") as never;
79
97
  break;
80
- case "status":
81
- status = Number.parseInt(
98
+ case "number":
99
+ info[field.field] = Number.parseInt(
82
100
  parts[1]!.trim(),
83
101
  10,
84
- ) as DumpSys.Battery.Status;
102
+ ) as never;
85
103
  break;
86
- case "health":
87
- health = Number.parseInt(
88
- parts[1]!.trim(),
89
- 10,
90
- ) as DumpSys.Battery.Health;
104
+ case "string":
105
+ info[field.field] = parts[1]! as never;
91
106
  break;
92
107
  }
93
108
  }
94
109
 
95
- return {
96
- acPowered,
97
- usbPowered,
98
- wirelessPowered,
99
- level,
100
- scale,
101
- voltage,
102
- current,
103
- status,
104
- health,
105
- };
110
+ return info;
106
111
  }
107
112
  }
108
113
 
109
114
  export namespace DumpSys {
110
115
  export namespace Battery {
116
+ export interface Info {
117
+ acPowered: boolean;
118
+ usbPowered: boolean;
119
+ wirelessPowered: boolean;
120
+ dockPowered: boolean;
121
+ maxChargingCurrent?: number;
122
+ maxChargingVoltage?: number;
123
+ chargeCounter?: number;
124
+ status: Status;
125
+ health: Health;
126
+ present?: boolean;
127
+ level?: number;
128
+ scale?: number;
129
+ voltage?: number;
130
+ temperature?: number;
131
+ technology?: string;
132
+ current?: number;
133
+ }
134
+
111
135
  export enum Status {
112
136
  Unknown = 1,
113
137
  Charging,
package/src/logcat.ts CHANGED
@@ -5,8 +5,8 @@ import { AdbCommandBase, AdbSubprocessNoneProtocol } from "@yume-chan/adb";
5
5
  import type { ReadableStream } from "@yume-chan/stream-extra";
6
6
  import {
7
7
  BufferedTransformStream,
8
- DecodeUtf8Stream,
9
8
  SplitStringStream,
9
+ TextDecoderStream,
10
10
  WrapReadableStream,
11
11
  WritableStream,
12
12
  } from "@yume-chan/stream-extra";
@@ -353,6 +353,7 @@ export async function deserializeAndroidLogEntry(
353
353
  ): Promise<AndroidLogEntry> {
354
354
  const entry = (await LoggerEntry.deserialize(stream)) as AndroidLogEntry;
355
355
  if (entry.headerSize !== LoggerEntry.size) {
356
+ // Skip unknown fields
356
357
  await stream.readExactly(entry.headerSize - LoggerEntry.size);
357
358
  }
358
359
 
@@ -420,7 +421,7 @@ export class Logcat extends AdbCommandBase {
420
421
 
421
422
  const result: LogSize[] = [];
422
423
  await stdout
423
- .pipeThrough(new DecodeUtf8Stream())
424
+ .pipeThrough(new TextDecoderStream())
424
425
  .pipeThrough(new SplitStringStream("\n"))
425
426
  .pipeTo(
426
427
  new WritableStream({