@yume-chan/android-bin 0.0.16 → 0.0.17

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.
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "files": {
3
- "libraries/android-bin/.rush/temp/shrinkwrap-deps.json": "7a8b693a797f929a5184cf7a08cda9ced8e4a529",
4
- "libraries/android-bin/CHANGELOG.json": "7841c67fb164723bb7794b00dc8c16bd89b6b637",
5
- "libraries/android-bin/CHANGELOG.md": "d482e630baa62381336b5f33434f34f642a2fa54",
3
+ "libraries/android-bin/.rush/temp/shrinkwrap-deps.json": "f98fe73a1324ba10f68b340b16f26ad5e6839dc1",
4
+ "libraries/android-bin/CHANGELOG.json": "fe6cf4c3060c0a26cbe4670dac401d4e0355e42c",
5
+ "libraries/android-bin/CHANGELOG.md": "96f766d21622b30474f9cbc0afe00b639e5eb99f",
6
6
  "libraries/android-bin/README.md": "96d1e739d73df6dc17920182c1c5799b65652b69",
7
- "libraries/android-bin/package.json": "fd78491208045108132158872c1af1075c286dae",
7
+ "libraries/android-bin/package.json": "67b1c613be1c34641a043d3b56515193185bb872",
8
8
  "libraries/android-bin/src/bu.ts": "cd4d6867127ea824c524989626268b26dde3c7de",
9
- "libraries/android-bin/src/bug-report.ts": "b4d7c78eaa2abb610a88f240872d209d083b70c9",
10
- "libraries/android-bin/src/demo-mode.ts": "1ee4a2d1bc238a1600387fc39549241a2a6bb161",
9
+ "libraries/android-bin/src/bug-report.ts": "6ddd7519469da1ad82637c5d8f3ee81ade2cce1a",
10
+ "libraries/android-bin/src/demo-mode.ts": "7e0b062afd72b51bc17e1b353003a0d4d2025060",
11
11
  "libraries/android-bin/src/index.ts": "829476e842a0c136d900c623e14a6f341dba5651",
12
- "libraries/android-bin/src/logcat.ts": "8144312c653710ecabe10186f9eb2afa0aeaf2db",
12
+ "libraries/android-bin/src/logcat.ts": "2dc17937fe03f02848dedfe38d66bce52aa738f3",
13
13
  "libraries/android-bin/src/settings.ts": "a323081296746d78ea07f473680321331ff0d46c",
14
- "libraries/android-bin/tsconfig.json": "39805c3201f468dc5a1a584b592970777c655bca"
14
+ "libraries/android-bin/tsconfig.json": "d0e54ec5daaa5709c8d85627e682aaa4d6cda52b"
15
15
  },
16
16
  "arguments": "build-ts-package "
17
17
  }
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "files": {
3
- "libraries/android-bin/.rush/temp/shrinkwrap-deps.json": "7a8b693a797f929a5184cf7a08cda9ced8e4a529",
4
- "libraries/android-bin/CHANGELOG.json": "7841c67fb164723bb7794b00dc8c16bd89b6b637",
5
- "libraries/android-bin/CHANGELOG.md": "d482e630baa62381336b5f33434f34f642a2fa54",
3
+ "libraries/android-bin/.rush/temp/shrinkwrap-deps.json": "f98fe73a1324ba10f68b340b16f26ad5e6839dc1",
4
+ "libraries/android-bin/CHANGELOG.json": "fe6cf4c3060c0a26cbe4670dac401d4e0355e42c",
5
+ "libraries/android-bin/CHANGELOG.md": "96f766d21622b30474f9cbc0afe00b639e5eb99f",
6
6
  "libraries/android-bin/README.md": "96d1e739d73df6dc17920182c1c5799b65652b69",
7
- "libraries/android-bin/package.json": "fd78491208045108132158872c1af1075c286dae",
7
+ "libraries/android-bin/package.json": "67b1c613be1c34641a043d3b56515193185bb872",
8
8
  "libraries/android-bin/src/bu.ts": "cd4d6867127ea824c524989626268b26dde3c7de",
9
- "libraries/android-bin/src/bug-report.ts": "b4d7c78eaa2abb610a88f240872d209d083b70c9",
10
- "libraries/android-bin/src/demo-mode.ts": "1ee4a2d1bc238a1600387fc39549241a2a6bb161",
9
+ "libraries/android-bin/src/bug-report.ts": "6ddd7519469da1ad82637c5d8f3ee81ade2cce1a",
10
+ "libraries/android-bin/src/demo-mode.ts": "7e0b062afd72b51bc17e1b353003a0d4d2025060",
11
11
  "libraries/android-bin/src/index.ts": "829476e842a0c136d900c623e14a6f341dba5651",
12
- "libraries/android-bin/src/logcat.ts": "8144312c653710ecabe10186f9eb2afa0aeaf2db",
12
+ "libraries/android-bin/src/logcat.ts": "2dc17937fe03f02848dedfe38d66bce52aa738f3",
13
13
  "libraries/android-bin/src/settings.ts": "a323081296746d78ea07f473680321331ff0d46c",
14
- "libraries/android-bin/tsconfig.json": "39805c3201f468dc5a1a584b592970777c655bca"
14
+ "libraries/android-bin/tsconfig.json": "d0e54ec5daaa5709c8d85627e682aaa4d6cda52b"
15
15
  },
16
16
  "arguments": "build-ts-package --incremental "
17
17
  }
@@ -1,4 +1,5 @@
1
1
  {
2
- "tslib@2.4.0": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
3
- "typescript@4.7.2": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A=="
2
+ "../../libraries/android-bin": "../../libraries/android-bin:2TzHzSRfriFm1P/1jSIYi2jWDPziVYu0NQ/oDfUIGY8=:",
3
+ "/tslib/2.4.0": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
4
+ "/typescript/4.7.4": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ=="
4
5
  }
package/CHANGELOG.json CHANGED
@@ -1,6 +1,18 @@
1
1
  {
2
2
  "name": "@yume-chan/android-bin",
3
3
  "entries": [
4
+ {
5
+ "version": "0.0.17",
6
+ "tag": "@yume-chan/android-bin_v0.0.17",
7
+ "date": "Tue, 18 Oct 2022 09:32:30 GMT",
8
+ "comments": {
9
+ "none": [
10
+ {
11
+ "comment": "Update to use new stream util package"
12
+ }
13
+ ]
14
+ }
15
+ },
4
16
  {
5
17
  "version": "0.0.16",
6
18
  "tag": "@yume-chan/android-bin_v0.0.16",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Change Log - @yume-chan/android-bin
2
2
 
3
- This log was last generated on Sat, 28 May 2022 03:56:37 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 18 Oct 2022 09:32:30 GMT and should not be manually modified.
4
+
5
+ ## 0.0.17
6
+ Tue, 18 Oct 2022 09:32:30 GMT
7
+
8
+ ### Updates
9
+
10
+ - Update to use new stream util package
4
11
 
5
12
  ## 0.0.16
6
13
  Sat, 28 May 2022 03:56:37 GMT
@@ -1,2 +1 @@
1
1
  Invoking: build-ts-package --incremental
2
-
@@ -1,4 +1,5 @@
1
- import { AdbCommandBase, ReadableStream } from "@yume-chan/adb";
1
+ import { AdbCommandBase } from '@yume-chan/adb';
2
+ import { ReadableStream } from '@yume-chan/stream-extra';
2
3
  export interface BugReportZVersion {
3
4
  major: number;
4
5
  minor: number;
@@ -1 +1 @@
1
- {"version":3,"file":"bug-report.d.ts","sourceRoot":"","sources":["../src/bug-report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAoE,cAAc,EAAuD,MAAM,gBAAgB,CAAC;AAEvL,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAEd,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,UAAW,SAAQ,cAAc;IAC1C,OAAc,aAAa,SAAkB;IAE7C,OAAc,WAAW,SAAgB;IAEzC,OAAc,cAAc,SAAyB;IAErD,OAAc,QAAQ,SAAa;IAEnC,OAAc,UAAU,SAAe;IAEvC;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA2BvD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAI7D;;;;;;;;OAQG;IACU,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAmDvF,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpD,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC;CAoB9C;AAGD,qBAAa,SAAU,SAAQ,cAAc;IAClC,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC;CAMhD"}
1
+ {"version":3,"file":"bug-report.d.ts","sourceRoot":"","sources":["../src/bug-report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAA8B,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAwC,cAAc,EAAyD,MAAM,yBAAyB,CAAC;AAEtJ,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAEd,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,UAAW,SAAQ,cAAc;IAC1C,OAAc,aAAa,SAAkB;IAE7C,OAAc,WAAW,SAAgB;IAEzC,OAAc,cAAc,SAAyB;IAErD,OAAc,QAAQ,SAAa;IAEnC,OAAc,UAAU,SAAe;IAEvC;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA2BvD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAI7D;;;;;;;;OAQG;IACU,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAmDvF,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpD,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC;CAoB9C;AAGD,qBAAa,SAAU,SAAQ,cAAc;IAClC,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC;CAMhD"}
package/esm/bug-report.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // cspell: ignore bugreport
2
2
  // cspell: ignore bugreportz
3
- import { AdbCommandBase, AdbSubprocessShellProtocol, DecodeUtf8Stream, PushReadableStream, SplitLineStream, WrapReadableStream, WritableStream } from "@yume-chan/adb";
3
+ import { AdbCommandBase, AdbSubprocessShellProtocol } from '@yume-chan/adb';
4
+ import { DecodeUtf8Stream, PushReadableStream, SplitStringStream, WrapReadableStream, WritableStream } from '@yume-chan/stream-extra';
4
5
  export class BugReportZ extends AdbCommandBase {
5
6
  static VERSION_REGEX = /(\d+)\.(\d+)/;
6
7
  static BEGIN_REGEX = /BEGIN:(.*)/;
@@ -55,7 +56,7 @@ export class BugReportZ extends AdbCommandBase {
55
56
  let error;
56
57
  await process.stdout
57
58
  .pipeThrough(new DecodeUtf8Stream())
58
- .pipeThrough(new SplitLineStream())
59
+ .pipeThrough(new SplitStringStream('\n'))
59
60
  .pipeTo(new WritableStream({
60
61
  write(line) {
61
62
  // `BEGIN:` and `PROGRESS:` only appear when `-p` is specified.
@@ -1 +1 @@
1
- {"version":3,"file":"bug-report.js","sourceRoot":"","sources":["../src/bug-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bug-report.js","sourceRoot":"","sources":["../src/bug-report.ts"],"names":[],"mappings":"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"}
package/esm/demo-mode.js CHANGED
@@ -14,7 +14,7 @@ export var DemoModeSignalStrength;
14
14
  DemoModeSignalStrength["Level3"] = "3";
15
15
  DemoModeSignalStrength["Level4"] = "4";
16
16
  })(DemoModeSignalStrength || (DemoModeSignalStrength = {}));
17
- // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java;l=1073
17
+ // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java;l=1362;drc=3b775bf7ad89902f94e03d191b0d8fbdebf2bdbf
18
18
  export const DemoModeMobileDataTypes = ['1x', '3g', '4g', '4g+', '5g', '5ge', '5g+',
19
19
  'e', 'g', 'h', 'h+', 'lte', 'lte+', 'dis', 'not', 'null'];
20
20
  // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java;l=3136
@@ -1 +1 @@
1
- {"version":3,"file":"demo-mode.js","sourceRoot":"","sources":["../src/demo-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo-mode.js","sourceRoot":"","sources":["../src/demo-mode.ts"],"names":[],"mappings":"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"}
package/esm/logcat.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { AdbCommandBase, ReadableStream } from "@yume-chan/adb";
2
- import Struct, { StructAsyncDeserializeStream } from "@yume-chan/struct";
1
+ import { AdbCommandBase } from '@yume-chan/adb';
2
+ import { type ReadableStream } from '@yume-chan/stream-extra';
3
+ import Struct, { StructAsyncDeserializeStream } from '@yume-chan/struct';
3
4
  export declare enum LogId {
4
5
  All = -1,
5
6
  Main = 0,
@@ -11,15 +12,37 @@ export declare enum LogId {
11
12
  Security = 6,
12
13
  Kernel = 7
13
14
  }
14
- export declare enum LogPriority {
15
+ export declare enum AndroidLogPriority {
15
16
  Unknown = 0,
16
17
  Default = 1,
17
18
  Verbose = 2,
18
- Info = 3,
19
- Warn = 4,
20
- Error = 5,
21
- Fatal = 6,
22
- Silent = 7
19
+ Debug = 3,
20
+ Info = 4,
21
+ Warn = 5,
22
+ Error = 6,
23
+ Fatal = 7,
24
+ Silent = 8
25
+ }
26
+ export declare const AndroidLogPriorityToCharacter: Record<AndroidLogPriority, string>;
27
+ export declare enum LogcatFormat {
28
+ Brief = 0,
29
+ Process = 1,
30
+ Tag = 2,
31
+ Thread = 3,
32
+ Raw = 4,
33
+ Time = 5,
34
+ ThreadTime = 6,
35
+ Long = 7
36
+ }
37
+ export interface LogcatFormatModifiers {
38
+ usec?: boolean;
39
+ printable?: boolean;
40
+ year?: boolean;
41
+ zone?: boolean;
42
+ epoch?: boolean;
43
+ monotonic?: boolean;
44
+ uid?: boolean;
45
+ descriptive?: boolean;
23
46
  }
24
47
  export interface LogcatOptions {
25
48
  pid?: number;
@@ -38,11 +61,13 @@ export declare const LoggerEntry: Struct<{
38
61
  readonly timestamp: bigint;
39
62
  }, undefined>;
40
63
  export declare type LoggerEntry = typeof LoggerEntry['TDeserializeResult'];
41
- export interface LogMessage extends LoggerEntry {
42
- priority: LogPriority;
43
- payload: Uint8Array;
64
+ export interface AndroidLogEntry extends LoggerEntry {
65
+ priority: AndroidLogPriority;
66
+ tag: string;
67
+ message: string;
44
68
  }
45
- export declare function deserializeLogMessage(stream: StructAsyncDeserializeStream): Promise<LogMessage>;
69
+ export declare function formatAndroidLogEntry(entry: AndroidLogEntry, format?: LogcatFormat, modifier?: LogcatFormatModifiers): string;
70
+ export declare function deserializeAndroidLogEntry(stream: StructAsyncDeserializeStream): Promise<AndroidLogEntry>;
46
71
  export interface LogSize {
47
72
  id: LogId;
48
73
  size: number;
@@ -60,6 +85,6 @@ export declare class Logcat extends AdbCommandBase {
60
85
  static readonly LOG_SIZE_REGEX_11: RegExp;
61
86
  getLogSize(ids?: LogId[]): Promise<LogSize[]>;
62
87
  clear(ids?: LogId[]): Promise<void>;
63
- binary(options?: LogcatOptions): ReadableStream<LogMessage>;
88
+ binary(options?: LogcatOptions): ReadableStream<AndroidLogEntry>;
64
89
  }
65
90
  //# sourceMappingURL=logcat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logcat.d.ts","sourceRoot":"","sources":["../src/logcat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAyF,cAAc,EAAmC,MAAM,gBAAgB,CAAC;AACxL,OAAO,MAAM,EAAE,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAMzE,oBAAY,KAAK;IACb,GAAG,KAAK;IACR,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,KAAK,IAAA;IACL,KAAK,IAAA;IACL,QAAQ,IAAA;IACR,MAAM,IAAA;CACT;AAED,oBAAY,WAAW;IACnB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,KAAK,IAAA;IACL,MAAM,IAAA;CACT;AAED,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;CACjB;AAKD,eAAO,MAAM,WAAW;;;;;;;;;;;aAcd,CAAC;AAEX,oBAAY,WAAW,GAAG,OAAO,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAEnE,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC3C,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,UAAU,CAAC;CACvB;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,CAUrG;AAED,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,MAAO,SAAQ,cAAc;WACxB,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM;WAI9B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;WAKhC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM;WAI/B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAOlE,gBAAuB,iBAAiB,SAAyG;IAIjJ,gBAAuB,iBAAiB,SAA8H;IAEzJ,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyC7C,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE;IAQzB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC;CAiCrE"}
1
+ {"version":3,"file":"logcat.d.ts","sourceRoot":"","sources":["../src/logcat.ts"],"names":[],"mappings":"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"}
package/esm/logcat.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // cspell: ignore logcat
2
- import { AdbCommandBase, AdbSubprocessNoneProtocol, BufferedStream, BufferedStreamEndedError, DecodeUtf8Stream, ReadableStream, SplitLineStream, WritableStream } from "@yume-chan/adb";
3
- import Struct from "@yume-chan/struct";
2
+ import { AdbCommandBase, AdbSubprocessNoneProtocol } from '@yume-chan/adb';
3
+ import { BufferedTransformStream, DecodeUtf8Stream, SplitStringStream, WrapReadableStream, WritableStream } from '@yume-chan/stream-extra';
4
+ import Struct, { decodeUtf8 } from '@yume-chan/struct';
4
5
  // `adb logcat` is an alias to `adb shell logcat`
5
6
  // so instead of adding to core library, it's implemented here
6
7
  // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/include/android/log.h;l=141;drc=82b5738732161dbaafb2e2f25cce19cd26b9157d
@@ -16,17 +17,42 @@ export var LogId;
16
17
  LogId[LogId["Security"] = 6] = "Security";
17
18
  LogId[LogId["Kernel"] = 7] = "Kernel";
18
19
  })(LogId || (LogId = {}));
19
- export var LogPriority;
20
- (function (LogPriority) {
21
- LogPriority[LogPriority["Unknown"] = 0] = "Unknown";
22
- LogPriority[LogPriority["Default"] = 1] = "Default";
23
- LogPriority[LogPriority["Verbose"] = 2] = "Verbose";
24
- LogPriority[LogPriority["Info"] = 3] = "Info";
25
- LogPriority[LogPriority["Warn"] = 4] = "Warn";
26
- LogPriority[LogPriority["Error"] = 5] = "Error";
27
- LogPriority[LogPriority["Fatal"] = 6] = "Fatal";
28
- LogPriority[LogPriority["Silent"] = 7] = "Silent";
29
- })(LogPriority || (LogPriority = {}));
20
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/include/android/log.h;l=73;drc=82b5738732161dbaafb2e2f25cce19cd26b9157d
21
+ export var AndroidLogPriority;
22
+ (function (AndroidLogPriority) {
23
+ AndroidLogPriority[AndroidLogPriority["Unknown"] = 0] = "Unknown";
24
+ AndroidLogPriority[AndroidLogPriority["Default"] = 1] = "Default";
25
+ AndroidLogPriority[AndroidLogPriority["Verbose"] = 2] = "Verbose";
26
+ AndroidLogPriority[AndroidLogPriority["Debug"] = 3] = "Debug";
27
+ AndroidLogPriority[AndroidLogPriority["Info"] = 4] = "Info";
28
+ AndroidLogPriority[AndroidLogPriority["Warn"] = 5] = "Warn";
29
+ AndroidLogPriority[AndroidLogPriority["Error"] = 6] = "Error";
30
+ AndroidLogPriority[AndroidLogPriority["Fatal"] = 7] = "Fatal";
31
+ AndroidLogPriority[AndroidLogPriority["Silent"] = 8] = "Silent";
32
+ })(AndroidLogPriority || (AndroidLogPriority = {}));
33
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/logprint.cpp;l=140;drc=8dbf3b2bb6b6d1652d9797e477b9abd03278bb79
34
+ export const AndroidLogPriorityToCharacter = {
35
+ [AndroidLogPriority.Unknown]: '?',
36
+ [AndroidLogPriority.Default]: '?',
37
+ [AndroidLogPriority.Verbose]: 'V',
38
+ [AndroidLogPriority.Debug]: 'D',
39
+ [AndroidLogPriority.Info]: 'I',
40
+ [AndroidLogPriority.Warn]: 'W',
41
+ [AndroidLogPriority.Error]: 'E',
42
+ [AndroidLogPriority.Fatal]: 'F',
43
+ [AndroidLogPriority.Silent]: 'S',
44
+ };
45
+ export var LogcatFormat;
46
+ (function (LogcatFormat) {
47
+ LogcatFormat[LogcatFormat["Brief"] = 0] = "Brief";
48
+ LogcatFormat[LogcatFormat["Process"] = 1] = "Process";
49
+ LogcatFormat[LogcatFormat["Tag"] = 2] = "Tag";
50
+ LogcatFormat[LogcatFormat["Thread"] = 3] = "Thread";
51
+ LogcatFormat[LogcatFormat["Raw"] = 4] = "Raw";
52
+ LogcatFormat[LogcatFormat["Time"] = 5] = "Time";
53
+ LogcatFormat[LogcatFormat["ThreadTime"] = 6] = "ThreadTime";
54
+ LogcatFormat[LogcatFormat["Long"] = 7] = "Long";
55
+ })(LogcatFormat || (LogcatFormat = {}));
30
56
  const NANOSECONDS_PER_SECOND = BigInt(1e9);
31
57
  // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/include/log/log_read.h;l=39;drc=82b5738732161dbaafb2e2f25cce19cd26b9157d
32
58
  export const LoggerEntry = new Struct({ littleEndian: true })
@@ -43,15 +69,41 @@ export const LoggerEntry = new Struct({ littleEndian: true })
43
69
  return BigInt(this.second) * NANOSECONDS_PER_SECOND + BigInt(this.nanoseconds);
44
70
  },
45
71
  });
46
- export async function deserializeLogMessage(stream) {
72
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/logprint.cpp;l=1415;drc=8dbf3b2bb6b6d1652d9797e477b9abd03278bb79
73
+ export function formatAndroidLogEntry(entry, format = LogcatFormat.Brief, modifier) {
74
+ const uid = modifier?.uid ? `${entry.uid.toString().padStart(5)}:` : '';
75
+ switch (format) {
76
+ // TODO: implement other formats
77
+ default:
78
+ return `${AndroidLogPriorityToCharacter[entry.priority]}/${entry.tag.padEnd(8)}(${uid}${entry.pid.toString().padStart(5)}): ${entry.message}`;
79
+ }
80
+ }
81
+ function findTagEnd(payload) {
82
+ for (const separator of [0, ' '.charCodeAt(0), ':'.charCodeAt(0)]) {
83
+ const index = payload.indexOf(separator);
84
+ if (index !== -1) {
85
+ return index;
86
+ }
87
+ }
88
+ const index = payload.findIndex(x => x >= 0x7f);
89
+ if (index !== -1) {
90
+ return index;
91
+ }
92
+ return payload.length;
93
+ }
94
+ export async function deserializeAndroidLogEntry(stream) {
47
95
  const entry = await LoggerEntry.deserialize(stream);
48
96
  if (entry.headerSize !== LoggerEntry.size) {
49
97
  await stream.read(entry.headerSize - LoggerEntry.size);
50
98
  }
51
- const priority = (await stream.read(1))[0];
52
- const payload = await stream.read(entry.payloadSize - 1);
53
- entry.priority = priority;
54
- entry.payload = payload;
99
+ let payload = await stream.read(entry.payloadSize);
100
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/logcat/logcat.cpp;l=193-194;drc=bbe77d66e7bee8bd1f0bc7e5492b5376b0207ef6
101
+ // TODO: payload for some log IDs are in binary format.
102
+ entry.priority = payload[0];
103
+ payload = payload.subarray(1);
104
+ const tagEnd = findTagEnd(payload);
105
+ entry.tag = decodeUtf8(payload.subarray(0, tagEnd));
106
+ entry.message = tagEnd < payload.length - 1 ? decodeUtf8(payload.subarray(tagEnd + 1)) : '';
55
107
  return entry;
56
108
  }
57
109
  export class Logcat extends AdbCommandBase {
@@ -84,7 +136,7 @@ export class Logcat extends AdbCommandBase {
84
136
  const result = [];
85
137
  await stdout
86
138
  .pipeThrough(new DecodeUtf8Stream())
87
- .pipeThrough(new SplitLineStream())
139
+ .pipeThrough(new SplitStringStream('\n'))
88
140
  .pipeTo(new WritableStream({
89
141
  write(chunk) {
90
142
  let match = chunk.match(Logcat.LOG_SIZE_REGEX_11);
@@ -120,37 +172,22 @@ export class Logcat extends AdbCommandBase {
120
172
  ]);
121
173
  }
122
174
  binary(options) {
123
- let bufferedStream;
124
- return new ReadableStream({
125
- start: async () => {
126
- const { stdout } = await this.adb.subprocess.spawn([
127
- 'logcat',
128
- '-B',
129
- ...(options?.pid ? ['--pid', options.pid.toString()] : []),
130
- ...(options?.ids ? ['-b', Logcat.joinLogId(options.ids)] : [])
131
- ], {
132
- // PERF: None protocol is 150% faster then Shell protocol
133
- protocols: [AdbSubprocessNoneProtocol],
134
- });
135
- bufferedStream = new BufferedStream(stdout);
136
- },
137
- async pull(controller) {
138
- try {
139
- const entry = await deserializeLogMessage(bufferedStream);
140
- controller.enqueue(entry);
141
- }
142
- catch (e) {
143
- if (e instanceof BufferedStreamEndedError) {
144
- controller.close();
145
- return;
146
- }
147
- throw e;
148
- }
149
- },
150
- cancel() {
151
- bufferedStream.close();
152
- },
153
- });
175
+ return new WrapReadableStream(async () => {
176
+ // TODO: make `spawn` return synchronously with streams pending
177
+ // so it's easier to chain them.
178
+ const { stdout } = await this.adb.subprocess.spawn([
179
+ 'logcat',
180
+ '-B',
181
+ ...(options?.pid ? ['--pid', options.pid.toString()] : []),
182
+ ...(options?.ids ? ['-b', Logcat.joinLogId(options.ids)] : [])
183
+ ], {
184
+ // PERF: None protocol is 150% faster then Shell protocol
185
+ protocols: [AdbSubprocessNoneProtocol],
186
+ });
187
+ return stdout;
188
+ }).pipeThrough(new BufferedTransformStream(stream => {
189
+ return deserializeAndroidLogEntry(stream);
190
+ }));
154
191
  }
155
192
  }
156
193
  //# sourceMappingURL=logcat.js.map
package/esm/logcat.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"logcat.js","sourceRoot":"","sources":["../src/logcat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logcat.js","sourceRoot":"","sources":["../src/logcat.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.16",
3
+ "version": "0.0.17",
4
4
  "description": "Wrappers for Android built-in executables.",
5
5
  "keywords": [
6
6
  "adb",
@@ -12,7 +12,7 @@
12
12
  "email": "cnsimonchan@live.com",
13
13
  "url": "https://chensi.moe/blog"
14
14
  },
15
- "homepage": "https://github.com/yume-chan/ya-webadb/tree/master/libraries/android-bin#readme",
15
+ "homepage": "https://github.com/yume-chan/ya-webadb/tree/main/libraries/android-bin#readme",
16
16
  "repository": {
17
17
  "type": "git",
18
18
  "url": "git+https://github.com/yume-chan/ya-webadb.git",
@@ -25,17 +25,17 @@
25
25
  "main": "esm/index.js",
26
26
  "types": "esm/index.d.ts",
27
27
  "devDependencies": {
28
- "typescript": "4.7.2",
28
+ "typescript": "^4.7.4",
29
29
  "@yume-chan/ts-package-builder": "^1.0.0"
30
30
  },
31
31
  "dependencies": {
32
- "@yume-chan/adb": "^0.0.16",
33
- "@yume-chan/struct": "^0.0.16",
34
- "tslib": "^2.3.1"
32
+ "@yume-chan/adb": "^0.0.17",
33
+ "@yume-chan/stream-extra": "^0.0.17",
34
+ "@yume-chan/struct": "^0.0.17",
35
+ "tslib": "^2.4.0"
35
36
  },
36
37
  "scripts": {
37
38
  "build": "build-ts-package",
38
39
  "build:watch": "build-ts-package --incremental"
39
- },
40
- "readme": "# `@yume-chan/android-bin`\n\nWrappers for Android built-in executables.\n\nCurrently it's bound to `@yume-chan/adb`, maybe one day it can be used with other executors.\n"
40
+ }
41
41
  }
package/src/bug-report.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  // cspell: ignore bugreport
2
2
  // cspell: ignore bugreportz
3
3
 
4
- import { AdbCommandBase, AdbSubprocessShellProtocol, DecodeUtf8Stream, PushReadableStream, ReadableStream, SplitLineStream, WrapReadableStream, WritableStream } from "@yume-chan/adb";
4
+ import { AdbCommandBase, AdbSubprocessShellProtocol } from '@yume-chan/adb';
5
+ import { DecodeUtf8Stream, PushReadableStream, ReadableStream, SplitStringStream, WrapReadableStream, WritableStream } from '@yume-chan/stream-extra';
5
6
 
6
7
  export interface BugReportZVersion {
7
8
  major: number;
@@ -78,7 +79,7 @@ export class BugReportZ extends AdbCommandBase {
78
79
 
79
80
  await process.stdout
80
81
  .pipeThrough(new DecodeUtf8Stream())
81
- .pipeThrough(new SplitLineStream())
82
+ .pipeThrough(new SplitStringStream('\n'))
82
83
  .pipeTo(new WritableStream<string>({
83
84
  write(line) {
84
85
  // `BEGIN:` and `PROGRESS:` only appear when `-p` is specified.
package/src/demo-mode.ts CHANGED
@@ -16,7 +16,7 @@ export enum DemoModeSignalStrength {
16
16
  Level4 = '4',
17
17
  }
18
18
 
19
- // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java;l=1073
19
+ // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java;l=1362;drc=3b775bf7ad89902f94e03d191b0d8fbdebf2bdbf
20
20
  export const DemoModeMobileDataTypes = ['1x', '3g', '4g', '4g+', '5g', '5ge', '5g+',
21
21
  'e', 'g', 'h', 'h+', 'lte', 'lte+', 'dis', 'not', 'null'] as const;
22
22
 
package/src/logcat.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  // cspell: ignore logcat
2
2
 
3
- import { AdbCommandBase, AdbSubprocessNoneProtocol, BufferedStream, BufferedStreamEndedError, DecodeUtf8Stream, ReadableStream, SplitLineStream, WritableStream } from "@yume-chan/adb";
4
- import Struct, { StructAsyncDeserializeStream } from "@yume-chan/struct";
3
+ import { AdbCommandBase, AdbSubprocessNoneProtocol } from '@yume-chan/adb';
4
+ import { BufferedTransformStream, DecodeUtf8Stream, SplitStringStream, WrapReadableStream, WritableStream, type ReadableStream } from '@yume-chan/stream-extra';
5
+ import Struct, { decodeUtf8, StructAsyncDeserializeStream } from '@yume-chan/struct';
5
6
 
6
7
  // `adb logcat` is an alias to `adb shell logcat`
7
8
  // so instead of adding to core library, it's implemented here
@@ -19,10 +20,12 @@ export enum LogId {
19
20
  Kernel,
20
21
  }
21
22
 
22
- export enum LogPriority {
23
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/include/android/log.h;l=73;drc=82b5738732161dbaafb2e2f25cce19cd26b9157d
24
+ export enum AndroidLogPriority {
23
25
  Unknown,
24
26
  Default,
25
27
  Verbose,
28
+ Debug,
26
29
  Info,
27
30
  Warn,
28
31
  Error,
@@ -30,6 +33,41 @@ export enum LogPriority {
30
33
  Silent,
31
34
  }
32
35
 
36
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/logprint.cpp;l=140;drc=8dbf3b2bb6b6d1652d9797e477b9abd03278bb79
37
+ export const AndroidLogPriorityToCharacter: Record<AndroidLogPriority, string> = {
38
+ [AndroidLogPriority.Unknown]: '?',
39
+ [AndroidLogPriority.Default]: '?',
40
+ [AndroidLogPriority.Verbose]: 'V',
41
+ [AndroidLogPriority.Debug]: 'D',
42
+ [AndroidLogPriority.Info]: 'I',
43
+ [AndroidLogPriority.Warn]: 'W',
44
+ [AndroidLogPriority.Error]: 'E',
45
+ [AndroidLogPriority.Fatal]: 'F',
46
+ [AndroidLogPriority.Silent]: 'S',
47
+ };
48
+
49
+ export enum LogcatFormat {
50
+ Brief,
51
+ Process,
52
+ Tag,
53
+ Thread,
54
+ Raw,
55
+ Time,
56
+ ThreadTime,
57
+ Long
58
+ }
59
+
60
+ export interface LogcatFormatModifiers {
61
+ usec?: boolean;
62
+ printable?: boolean;
63
+ year?: boolean;
64
+ zone?: boolean;
65
+ epoch?: boolean;
66
+ monotonic?: boolean;
67
+ uid?: boolean;
68
+ descriptive?: boolean;
69
+ }
70
+
33
71
  export interface LogcatOptions {
34
72
  pid?: number;
35
73
  ids?: LogId[];
@@ -56,21 +94,60 @@ export const LoggerEntry =
56
94
 
57
95
  export type LoggerEntry = typeof LoggerEntry['TDeserializeResult'];
58
96
 
59
- export interface LogMessage extends LoggerEntry {
60
- priority: LogPriority;
61
- payload: Uint8Array;
97
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/logprint.cpp;drc=bbe77d66e7bee8bd1f0bc7e5492b5376b0207ef6;bpv=0
98
+ export interface AndroidLogEntry extends LoggerEntry {
99
+ priority: AndroidLogPriority;
100
+ tag: string;
101
+ message: string;
102
+ }
103
+
104
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/logprint.cpp;l=1415;drc=8dbf3b2bb6b6d1652d9797e477b9abd03278bb79
105
+ export function formatAndroidLogEntry(
106
+ entry: AndroidLogEntry,
107
+ format: LogcatFormat = LogcatFormat.Brief,
108
+ modifier?: LogcatFormatModifiers
109
+ ) {
110
+ const uid = modifier?.uid ? `${entry.uid.toString().padStart(5)}:` : '';
111
+
112
+ switch (format) {
113
+ // TODO: implement other formats
114
+ default:
115
+ return `${AndroidLogPriorityToCharacter[entry.priority]}/${entry.tag.padEnd(8)}(${uid}${entry.pid.toString().padStart(5)}): ${entry.message}`;
116
+ }
62
117
  }
63
118
 
64
- export async function deserializeLogMessage(stream: StructAsyncDeserializeStream): Promise<LogMessage> {
65
- const entry = await LoggerEntry.deserialize(stream);
119
+ function findTagEnd(payload: Uint8Array) {
120
+ for (const separator of [0, ' '.charCodeAt(0), ':'.charCodeAt(0)]) {
121
+ const index = payload.indexOf(separator);
122
+ if (index !== -1) {
123
+ return index;
124
+ }
125
+ }
126
+
127
+ const index = payload.findIndex(x => x >= 0x7f);
128
+ if (index !== -1) {
129
+ return index;
130
+ }
131
+
132
+ return payload.length;
133
+ }
134
+
135
+ export async function deserializeAndroidLogEntry(stream: StructAsyncDeserializeStream): Promise<AndroidLogEntry> {
136
+ const entry = await LoggerEntry.deserialize(stream) as unknown as AndroidLogEntry;
66
137
  if (entry.headerSize !== LoggerEntry.size) {
67
138
  await stream.read(entry.headerSize - LoggerEntry.size);
68
139
  }
69
- const priority = (await stream.read(1))[0] as LogPriority;
70
- const payload = await stream.read(entry.payloadSize - 1);
71
- (entry as any).priority = priority;
72
- (entry as any).payload = payload;
73
- return entry as LogMessage;
140
+ let payload = await stream.read(entry.payloadSize);
141
+
142
+ // https://cs.android.com/android/platform/superproject/+/master:system/logging/logcat/logcat.cpp;l=193-194;drc=bbe77d66e7bee8bd1f0bc7e5492b5376b0207ef6
143
+ // TODO: payload for some log IDs are in binary format.
144
+ entry.priority = payload[0] as AndroidLogPriority;
145
+
146
+ payload = payload.subarray(1);
147
+ const tagEnd = findTagEnd(payload);
148
+ entry.tag = decodeUtf8(payload.subarray(0, tagEnd));
149
+ entry.message = tagEnd < payload.length - 1 ? decodeUtf8(payload.subarray(tagEnd + 1)) : '';
150
+ return entry;
74
151
  }
75
152
 
76
153
  export interface LogSize {
@@ -119,7 +196,7 @@ export class Logcat extends AdbCommandBase {
119
196
  const result: LogSize[] = [];
120
197
  await stdout
121
198
  .pipeThrough(new DecodeUtf8Stream())
122
- .pipeThrough(new SplitLineStream())
199
+ .pipeThrough(new SplitStringStream('\n'))
123
200
  .pipeTo(new WritableStream({
124
201
  write(chunk) {
125
202
  let match = chunk.match(Logcat.LOG_SIZE_REGEX_11);
@@ -158,37 +235,22 @@ export class Logcat extends AdbCommandBase {
158
235
  ]);
159
236
  }
160
237
 
161
- public binary(options?: LogcatOptions): ReadableStream<LogMessage> {
162
- let bufferedStream: BufferedStream;
163
- return new ReadableStream({
164
- start: async () => {
165
- const { stdout } = await this.adb.subprocess.spawn([
166
- 'logcat',
167
- '-B',
168
- ...(options?.pid ? ['--pid', options.pid.toString()] : []),
169
- ...(options?.ids ? ['-b', Logcat.joinLogId(options.ids)] : [])
170
- ], {
171
- // PERF: None protocol is 150% faster then Shell protocol
172
- protocols: [AdbSubprocessNoneProtocol],
173
- });
174
- bufferedStream = new BufferedStream(stdout);
175
- },
176
- async pull(controller) {
177
- try {
178
- const entry = await deserializeLogMessage(bufferedStream);
179
- controller.enqueue(entry);
180
- } catch (e) {
181
- if (e instanceof BufferedStreamEndedError) {
182
- controller.close();
183
- return;
184
- }
185
-
186
- throw e;
187
- }
188
- },
189
- cancel() {
190
- bufferedStream.close();
191
- },
192
- });
238
+ public binary(options?: LogcatOptions): ReadableStream<AndroidLogEntry> {
239
+ return new WrapReadableStream(async () => {
240
+ // TODO: make `spawn` return synchronously with streams pending
241
+ // so it's easier to chain them.
242
+ const { stdout } = await this.adb.subprocess.spawn([
243
+ 'logcat',
244
+ '-B',
245
+ ...(options?.pid ? ['--pid', options.pid.toString()] : []),
246
+ ...(options?.ids ? ['-b', Logcat.joinLogId(options.ids)] : [])
247
+ ], {
248
+ // PERF: None protocol is 150% faster then Shell protocol
249
+ protocols: [AdbSubprocessNoneProtocol],
250
+ });
251
+ return stdout;
252
+ }).pipeThrough(new BufferedTransformStream(stream => {
253
+ return deserializeAndroidLogEntry(stream);
254
+ }));
193
255
  }
194
256
  }
package/tsconfig.json CHANGED
@@ -3,6 +3,9 @@
3
3
  "references": [
4
4
  {
5
5
  "path": "../adb/tsconfig.build.json"
6
+ },
7
+ {
8
+ "path": "../stream-extra/tsconfig.build.json"
6
9
  }
7
10
  ]
8
11
  }