@yume-chan/adb 0.0.23 → 1.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 +51 -2
- package/LICENSE +1 -1
- package/README.md +4 -1
- package/esm/adb.d.ts +15 -9
- package/esm/adb.d.ts.map +1 -1
- package/esm/adb.js +5 -2
- package/esm/adb.js.map +1 -1
- package/esm/banner.d.ts +7 -6
- package/esm/banner.d.ts.map +1 -1
- package/esm/banner.js +6 -7
- package/esm/banner.js.map +1 -1
- package/esm/commands/framebuffer.d.ts +63 -34
- package/esm/commands/framebuffer.d.ts.map +1 -1
- package/esm/commands/framebuffer.js +35 -33
- package/esm/commands/framebuffer.js.map +1 -1
- package/esm/commands/power.d.ts.map +1 -1
- package/esm/commands/power.js +6 -5
- package/esm/commands/power.js.map +1 -1
- package/esm/commands/reverse.d.ts +12 -12
- package/esm/commands/reverse.d.ts.map +1 -1
- package/esm/commands/reverse.js +60 -39
- package/esm/commands/reverse.js.map +1 -1
- package/esm/commands/subprocess/command.js +3 -3
- package/esm/commands/subprocess/command.js.map +1 -1
- package/esm/commands/subprocess/protocols/none.d.ts +2 -2
- package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/none.js +3 -5
- package/esm/commands/subprocess/protocols/none.js.map +1 -1
- package/esm/commands/subprocess/protocols/shell.d.ts +22 -14
- package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/shell.js +21 -27
- package/esm/commands/subprocess/protocols/shell.js.map +1 -1
- package/esm/commands/subprocess/protocols/types.d.ts +8 -8
- package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
- package/esm/commands/sync/list.d.ts +49 -30
- package/esm/commands/sync/list.d.ts.map +1 -1
- package/esm/commands/sync/list.js +9 -11
- package/esm/commands/sync/list.js.map +1 -1
- package/esm/commands/sync/pull.d.ts +7 -9
- package/esm/commands/sync/pull.d.ts.map +1 -1
- package/esm/commands/sync/pull.js +4 -6
- package/esm/commands/sync/pull.js.map +1 -1
- package/esm/commands/sync/push.d.ts +25 -22
- package/esm/commands/sync/push.d.ts.map +1 -1
- package/esm/commands/sync/push.js +14 -21
- package/esm/commands/sync/push.js.map +1 -1
- package/esm/commands/sync/request.d.ts +20 -23
- package/esm/commands/sync/request.d.ts.map +1 -1
- package/esm/commands/sync/request.js +26 -35
- package/esm/commands/sync/request.js.map +1 -1
- package/esm/commands/sync/response.d.ts +25 -19
- package/esm/commands/sync/response.d.ts.map +1 -1
- package/esm/commands/sync/response.js +49 -26
- package/esm/commands/sync/response.js.map +1 -1
- package/esm/commands/sync/socket.d.ts +3 -3
- package/esm/commands/sync/socket.d.ts.map +1 -1
- package/esm/commands/sync/socket.js +10 -5
- package/esm/commands/sync/socket.js.map +1 -1
- package/esm/commands/sync/stat.d.ts +75 -54
- package/esm/commands/sync/stat.d.ts.map +1 -1
- package/esm/commands/sync/stat.js +73 -69
- package/esm/commands/sync/stat.js.map +1 -1
- package/esm/commands/sync/sync.d.ts +18 -17
- package/esm/commands/sync/sync.d.ts.map +1 -1
- package/esm/commands/sync/sync.js +8 -8
- package/esm/commands/sync/sync.js.map +1 -1
- package/esm/commands/tcpip.d.ts +0 -1
- package/esm/commands/tcpip.d.ts.map +1 -1
- package/esm/commands/tcpip.js +9 -9
- package/esm/commands/tcpip.js.map +1 -1
- package/esm/daemon/auth.d.ts +8 -7
- package/esm/daemon/auth.d.ts.map +1 -1
- package/esm/daemon/auth.js +8 -9
- package/esm/daemon/auth.js.map +1 -1
- package/esm/daemon/crypto.d.ts +4 -3
- package/esm/daemon/crypto.d.ts.map +1 -1
- package/esm/daemon/crypto.js +57 -49
- package/esm/daemon/crypto.js.map +1 -1
- package/esm/daemon/device.d.ts +2 -2
- package/esm/daemon/device.d.ts.map +1 -1
- package/esm/daemon/dispatcher.d.ts +35 -10
- package/esm/daemon/dispatcher.d.ts.map +1 -1
- package/esm/daemon/dispatcher.js +46 -33
- package/esm/daemon/dispatcher.js.map +1 -1
- package/esm/daemon/packet.d.ts +48 -32
- package/esm/daemon/packet.d.ts.map +1 -1
- package/esm/daemon/packet.js +36 -32
- package/esm/daemon/packet.js.map +1 -1
- package/esm/daemon/socket.d.ts +11 -11
- package/esm/daemon/socket.d.ts.map +1 -1
- package/esm/daemon/socket.js +19 -40
- package/esm/daemon/socket.js.map +1 -1
- package/esm/daemon/transport.d.ts +60 -20
- package/esm/daemon/transport.d.ts.map +1 -1
- package/esm/daemon/transport.js +12 -15
- package/esm/daemon/transport.js.map +1 -1
- package/esm/device-observer.d.ts +10 -0
- package/esm/device-observer.d.ts.map +1 -0
- package/esm/device-observer.js +2 -0
- package/esm/device-observer.js.map +1 -0
- package/esm/features.d.ts +12 -11
- package/esm/features.d.ts.map +1 -1
- package/esm/features.js +11 -12
- package/esm/features.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/server/client.d.ts +140 -50
- package/esm/server/client.d.ts.map +1 -1
- package/esm/server/client.js +396 -180
- package/esm/server/client.js.map +1 -1
- package/esm/server/transport.d.ts +2 -2
- package/esm/server/transport.d.ts.map +1 -1
- package/esm/server/transport.js +4 -6
- package/esm/server/transport.js.map +1 -1
- package/esm/utils/base64.d.ts.map +1 -1
- package/esm/utils/base64.js +52 -38
- package/esm/utils/base64.js.map +1 -1
- package/esm/utils/hex.d.ts +1 -1
- package/esm/utils/hex.d.ts.map +1 -1
- package/esm/utils/hex.js +12 -14
- package/esm/utils/hex.js.map +1 -1
- package/esm/utils/index.d.ts +1 -1
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js +1 -1
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/no-op.d.ts.map +1 -1
- package/esm/utils/no-op.js +1 -0
- package/esm/utils/no-op.js.map +1 -1
- package/esm/utils/sequence-equal.d.ts +2 -0
- package/esm/utils/sequence-equal.d.ts.map +1 -0
- package/esm/utils/sequence-equal.js +12 -0
- package/esm/utils/sequence-equal.js.map +1 -0
- package/package.json +14 -19
- package/src/adb.ts +20 -11
- package/src/banner.ts +8 -6
- package/src/commands/framebuffer.ts +44 -35
- package/src/commands/power.ts +7 -5
- package/src/commands/reverse.ts +78 -47
- package/src/commands/subprocess/command.ts +3 -3
- package/src/commands/subprocess/protocols/none.ts +5 -7
- package/src/commands/subprocess/protocols/shell.ts +33 -35
- package/src/commands/subprocess/protocols/types.ts +8 -8
- package/src/commands/sync/list.ts +20 -15
- package/src/commands/sync/pull.ts +9 -8
- package/src/commands/sync/push.ts +25 -24
- package/src/commands/sync/request.ts +37 -38
- package/src/commands/sync/response.ts +63 -37
- package/src/commands/sync/socket.ts +13 -8
- package/src/commands/sync/stat.ts +93 -73
- package/src/commands/sync/sync.ts +12 -11
- package/src/commands/tcpip.ts +9 -9
- package/src/daemon/auth.ts +12 -10
- package/src/daemon/crypto.ts +66 -55
- package/src/daemon/device.ts +2 -2
- package/src/daemon/dispatcher.ts +106 -44
- package/src/daemon/packet.ts +57 -38
- package/src/daemon/socket.ts +30 -50
- package/src/daemon/transport.ts +98 -50
- package/src/device-observer.ts +10 -0
- package/src/features.ts +13 -11
- package/src/index.ts +1 -0
- package/src/server/client.ts +505 -268
- package/src/server/transport.ts +7 -9
- package/src/utils/base64.ts +59 -40
- package/src/utils/hex.ts +16 -14
- package/src/utils/index.ts +1 -1
- package/src/utils/no-op.ts +1 -0
- package/src/utils/sequence-equal.ts +13 -0
- package/tsconfig.build.json +1 -12
- package/tsconfig.build.tsbuildinfo +1 -1
- package/CHANGELOG.json +0 -265
- package/esm/utils/conditional-variable.d.ts +0 -8
- package/esm/utils/conditional-variable.d.ts.map +0 -1
- package/esm/utils/conditional-variable.js +0 -34
- package/esm/utils/conditional-variable.js.map +0 -1
- package/src/utils/conditional-variable.ts +0 -45
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,44 @@
|
|
|
1
1
|
# Change Log - @yume-chan/adb
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 1.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 53688d3: Use PNPM workspace and Changesets to manage the monorepo.
|
|
8
|
+
|
|
9
|
+
Because Changesets doesn't support alpha versions (`0.x.x`), this version is `1.0.0`. Future versions will follow SemVer rules, for example, breaking API changes will introduce a new major version.
|
|
10
|
+
|
|
11
|
+
- db8466f: Rewrite the struct API completely
|
|
12
|
+
- db8466f: Add common interface for device observers
|
|
13
|
+
- db8466f: Improve tree-shaking by removing TypeScript enum and namespace
|
|
14
|
+
- Updated dependencies [53688d3]
|
|
15
|
+
- Updated dependencies [db8466f]
|
|
16
|
+
- Updated dependencies [ea5002b]
|
|
17
|
+
- Updated dependencies [db8466f]
|
|
18
|
+
- @yume-chan/no-data-view@1.0.1
|
|
19
|
+
- @yume-chan/stream-extra@1.0.1
|
|
20
|
+
- @yume-chan/struct@1.0.1
|
|
21
|
+
- @yume-chan/event@1.0.1
|
|
22
|
+
|
|
23
|
+
This log was last generated on Tue, 18 Jun 2024 02:49:43 GMT and should not be manually modified.
|
|
24
|
+
|
|
25
|
+
## 0.0.24
|
|
26
|
+
|
|
27
|
+
Tue, 18 Jun 2024 02:49:43 GMT
|
|
28
|
+
|
|
29
|
+
### Updates
|
|
30
|
+
|
|
31
|
+
- Allow streams to accept both `Uint8Array` and `Consumable<Uint8Array>` as inputs
|
|
32
|
+
- Rename `AdbDaemonTransport`'s `debugSlowRead` option to `readTimeLimit`. Allow users to specify a custom timeout for read operations. It's still disabled by default.
|
|
33
|
+
- Include unauthorized devices in `AdbServerClient#getDevices()` and `AdbServerClient#trackDevices()`. You need to filter them out if you don't need them.
|
|
34
|
+
- Add more methods to `AdbServerClient`
|
|
35
|
+
- Group `AdbServerClient`-relating types into namespace. In future, more types will be moved to namespaces.
|
|
36
|
+
- Fix `Adb#reverse#list()` returning an extra empty object.
|
|
37
|
+
- Fix reverse tunnel handler not invoked.
|
|
38
|
+
- Fix too many event listener warning in Node.js.
|
|
4
39
|
|
|
5
40
|
## 0.0.23
|
|
41
|
+
|
|
6
42
|
Thu, 21 Mar 2024 03:15:10 GMT
|
|
7
43
|
|
|
8
44
|
### Updates
|
|
@@ -12,6 +48,7 @@ Thu, 21 Mar 2024 03:15:10 GMT
|
|
|
12
48
|
- Add support for delayed ack on Android 14
|
|
13
49
|
|
|
14
50
|
## 0.0.22
|
|
51
|
+
|
|
15
52
|
Wed, 13 Dec 2023 05:57:27 GMT
|
|
16
53
|
|
|
17
54
|
### Updates
|
|
@@ -22,6 +59,7 @@ Wed, 13 Dec 2023 05:57:27 GMT
|
|
|
22
59
|
- Fix TypeScript build when using `AdbSubprocessNoneProtocol` without installing `web-streams-polyfill` package
|
|
23
60
|
|
|
24
61
|
## 0.0.21
|
|
62
|
+
|
|
25
63
|
Fri, 25 Aug 2023 14:05:18 GMT
|
|
26
64
|
|
|
27
65
|
### Updates
|
|
@@ -33,6 +71,7 @@ Fri, 25 Aug 2023 14:05:18 GMT
|
|
|
33
71
|
- Add `recursive` and `force` options to `rm` method, allow deleting folders
|
|
34
72
|
|
|
35
73
|
## 0.0.20
|
|
74
|
+
|
|
36
75
|
Mon, 05 Jun 2023 02:51:41 GMT
|
|
37
76
|
|
|
38
77
|
### Updates
|
|
@@ -47,6 +86,7 @@ Mon, 05 Jun 2023 02:51:41 GMT
|
|
|
47
86
|
- Group `product`, `model`, `device` and `features` fields on `Adb` class to the `banner` field with type of `AdbBanner`.
|
|
48
87
|
|
|
49
88
|
## 0.0.19
|
|
89
|
+
|
|
50
90
|
Sun, 09 Apr 2023 05:55:33 GMT
|
|
51
91
|
|
|
52
92
|
### Updates
|
|
@@ -57,11 +97,13 @@ Sun, 09 Apr 2023 05:55:33 GMT
|
|
|
57
97
|
- Add `AdbReverseError` and `AdbReverseNotSupportedError` for better error handling in reverse tunnel command.
|
|
58
98
|
|
|
59
99
|
## 0.0.18
|
|
100
|
+
|
|
60
101
|
Wed, 25 Jan 2023 21:33:49 GMT
|
|
61
102
|
|
|
62
103
|
_Version update only_
|
|
63
104
|
|
|
64
105
|
## 0.0.17
|
|
106
|
+
|
|
65
107
|
Tue, 18 Oct 2022 09:32:30 GMT
|
|
66
108
|
|
|
67
109
|
### Updates
|
|
@@ -69,6 +111,7 @@ Tue, 18 Oct 2022 09:32:30 GMT
|
|
|
69
111
|
- Move stream utils to separate package
|
|
70
112
|
|
|
71
113
|
## 0.0.16
|
|
114
|
+
|
|
72
115
|
Sat, 28 May 2022 03:56:37 GMT
|
|
73
116
|
|
|
74
117
|
### Updates
|
|
@@ -79,6 +122,7 @@ Sat, 28 May 2022 03:56:37 GMT
|
|
|
79
122
|
- Improve performance of `BufferedStream` by up to 100%.
|
|
80
123
|
|
|
81
124
|
## 0.0.15
|
|
125
|
+
|
|
82
126
|
Mon, 02 May 2022 04:18:01 GMT
|
|
83
127
|
|
|
84
128
|
### Updates
|
|
@@ -89,6 +133,7 @@ Mon, 02 May 2022 04:18:01 GMT
|
|
|
89
133
|
- Fix an issue where `reverse` commands doesn't parse error message correctly
|
|
90
134
|
|
|
91
135
|
## 0.0.14
|
|
136
|
+
|
|
92
137
|
Sat, 30 Apr 2022 14:05:48 GMT
|
|
93
138
|
|
|
94
139
|
### Updates
|
|
@@ -97,6 +142,7 @@ Sat, 30 Apr 2022 14:05:48 GMT
|
|
|
97
142
|
- Add an `Adb#close()` method to gracefully shutdown a connection
|
|
98
143
|
|
|
99
144
|
## 0.0.13
|
|
145
|
+
|
|
100
146
|
Thu, 28 Apr 2022 01:23:53 GMT
|
|
101
147
|
|
|
102
148
|
### Updates
|
|
@@ -106,11 +152,13 @@ Thu, 28 Apr 2022 01:23:53 GMT
|
|
|
106
152
|
- Add workaround for the push_mkdir issue in Android 9
|
|
107
153
|
|
|
108
154
|
## 0.0.12
|
|
155
|
+
|
|
109
156
|
Sun, 03 Apr 2022 11:18:47 GMT
|
|
110
157
|
|
|
111
158
|
_Version update only_
|
|
112
159
|
|
|
113
160
|
## 0.0.11
|
|
161
|
+
|
|
114
162
|
Sun, 03 Apr 2022 10:54:15 GMT
|
|
115
163
|
|
|
116
164
|
### Patches
|
|
@@ -125,6 +173,7 @@ Sun, 03 Apr 2022 10:54:15 GMT
|
|
|
125
173
|
- Update license year
|
|
126
174
|
|
|
127
175
|
## 0.0.10
|
|
176
|
+
|
|
128
177
|
Sun, 09 Jan 2022 15:52:20 GMT
|
|
129
178
|
|
|
130
179
|
### Updates
|
|
@@ -132,7 +181,7 @@ Sun, 09 Jan 2022 15:52:20 GMT
|
|
|
132
181
|
- Remove `encodeUtf8()` and `decodeUtf8()` from `AdbBackend`
|
|
133
182
|
|
|
134
183
|
## 0.0.9
|
|
184
|
+
|
|
135
185
|
Sun, 09 Jan 2022 15:50:20 GMT
|
|
136
186
|
|
|
137
187
|
_Initial release_
|
|
138
|
-
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
<a href="https://github.com/yume-chan/ya-webadb/releases">
|
|
16
16
|
<img alt="GitHub release" src="https://img.shields.io/github/v/release/yume-chan/ya-webadb?logo=github">
|
|
17
17
|
</a>
|
|
18
|
+
<a href="https://bundlephobia.com/package/@yume-chan/adb">
|
|
19
|
+
<img alt="Package Size" src="https://img.shields.io/bundlephobia/minzip/%40yume-chan%2Fadb">
|
|
20
|
+
</a>
|
|
18
21
|
<a href="https://www.npmjs.com/package/@yume-chan/adb">
|
|
19
22
|
<img alt="npm" src="https://img.shields.io/npm/dm/%40yume-chan/adb?logo=npm">
|
|
20
23
|
</a>
|
|
@@ -27,7 +30,7 @@ This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Gen
|
|
|
27
30
|
|
|
28
31
|
## Documentation
|
|
29
32
|
|
|
30
|
-
Check the latest documentation at https://
|
|
33
|
+
Check the latest documentation at https://docs.tangoapp.dev/
|
|
31
34
|
|
|
32
35
|
## Sponsors
|
|
33
36
|
|
package/esm/adb.d.ts
CHANGED
|
@@ -1,27 +1,30 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
|
+
import type { MaybeConsumable, ReadableWritablePair } from "@yume-chan/stream-extra";
|
|
3
3
|
import type { AdbBanner } from "./banner.js";
|
|
4
4
|
import type { AdbFrameBuffer } from "./commands/index.js";
|
|
5
5
|
import { AdbPower, AdbReverseCommand, AdbSubprocess, AdbSync, AdbTcpIpCommand } from "./commands/index.js";
|
|
6
6
|
import type { AdbFeature } from "./features.js";
|
|
7
7
|
export interface Closeable {
|
|
8
|
-
close():
|
|
8
|
+
close(): MaybePromiseLike<void>;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Represents an ADB socket.
|
|
12
|
+
*/
|
|
13
|
+
export interface AdbSocket extends ReadableWritablePair<Uint8Array, MaybeConsumable<Uint8Array>>, Closeable {
|
|
11
14
|
get service(): string;
|
|
12
15
|
get closed(): Promise<void>;
|
|
13
16
|
}
|
|
14
|
-
export type AdbIncomingSocketHandler = (socket: AdbSocket) =>
|
|
17
|
+
export type AdbIncomingSocketHandler = (socket: AdbSocket) => MaybePromiseLike<void>;
|
|
15
18
|
export interface AdbTransport extends Closeable {
|
|
16
19
|
readonly serial: string;
|
|
17
20
|
readonly maxPayloadSize: number;
|
|
18
21
|
readonly banner: AdbBanner;
|
|
19
22
|
readonly disconnected: Promise<void>;
|
|
20
23
|
readonly clientFeatures: readonly AdbFeature[];
|
|
21
|
-
connect(service: string):
|
|
22
|
-
addReverseTunnel(handler: AdbIncomingSocketHandler, address?: string):
|
|
23
|
-
removeReverseTunnel(address: string):
|
|
24
|
-
clearReverseTunnels():
|
|
24
|
+
connect(service: string): MaybePromiseLike<AdbSocket>;
|
|
25
|
+
addReverseTunnel(handler: AdbIncomingSocketHandler, address?: string): MaybePromiseLike<string>;
|
|
26
|
+
removeReverseTunnel(address: string): MaybePromiseLike<void>;
|
|
27
|
+
clearReverseTunnels(): MaybePromiseLike<void>;
|
|
25
28
|
}
|
|
26
29
|
export declare class Adb implements Closeable {
|
|
27
30
|
readonly transport: AdbTransport;
|
|
@@ -37,6 +40,9 @@ export declare class Adb implements Closeable {
|
|
|
37
40
|
readonly tcpip: AdbTcpIpCommand;
|
|
38
41
|
constructor(transport: AdbTransport);
|
|
39
42
|
canUseFeature(feature: AdbFeature): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a new ADB Socket to the specified service or socket address.
|
|
45
|
+
*/
|
|
40
46
|
createSocket(service: string): Promise<AdbSocket>;
|
|
41
47
|
createSocketAndWait(service: string): Promise<string>;
|
|
42
48
|
getProp(key: string): Promise<string>;
|
package/esm/adb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"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"}
|
package/esm/adb.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ConcatStringStream,
|
|
1
|
+
import { ConcatStringStream, TextDecoderStream } from "@yume-chan/stream-extra";
|
|
2
2
|
import { AdbPower, AdbReverseCommand, AdbSubprocess, AdbSync, AdbTcpIpCommand, escapeArg, framebuffer, } from "./commands/index.js";
|
|
3
3
|
export class Adb {
|
|
4
4
|
transport;
|
|
@@ -35,13 +35,16 @@ export class Adb {
|
|
|
35
35
|
return (this.clientFeatures.includes(feature) &&
|
|
36
36
|
this.deviceFeatures.includes(feature));
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates a new ADB Socket to the specified service or socket address.
|
|
40
|
+
*/
|
|
38
41
|
async createSocket(service) {
|
|
39
42
|
return this.transport.connect(service);
|
|
40
43
|
}
|
|
41
44
|
async createSocketAndWait(service) {
|
|
42
45
|
const socket = await this.createSocket(service);
|
|
43
46
|
return await socket.readable
|
|
44
|
-
.pipeThrough(new
|
|
47
|
+
.pipeThrough(new TextDecoderStream())
|
|
45
48
|
.pipeThrough(new ConcatStringStream());
|
|
46
49
|
}
|
|
47
50
|
async getProp(key) {
|
package/esm/adb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"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"}
|
package/esm/banner.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { AdbFeature } from "./features.js";
|
|
2
|
-
export declare
|
|
3
|
-
Product
|
|
4
|
-
Model
|
|
5
|
-
Device
|
|
6
|
-
Features
|
|
7
|
-
}
|
|
2
|
+
export declare const AdbBannerKey: {
|
|
3
|
+
readonly Product: "ro.product.name";
|
|
4
|
+
readonly Model: "ro.product.model";
|
|
5
|
+
readonly Device: "ro.product.device";
|
|
6
|
+
readonly Features: "features";
|
|
7
|
+
};
|
|
8
|
+
export type AdbBannerKey = (typeof AdbBannerKey)[keyof typeof AdbBannerKey];
|
|
8
9
|
export declare class AdbBanner {
|
|
9
10
|
#private;
|
|
10
11
|
static parse(banner: string): AdbBanner;
|
package/esm/banner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E,qBAAa,SAAS;;IAClB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM;IA0C3B,IAAI,OAAO,uBAEV;IAGD,IAAI,KAAK,uBAER;IAGD,IAAI,MAAM,uBAET;IAGD,IAAI,QAAQ,iBAEX;gBAGG,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,UAAU,EAAE;CAO7B"}
|
package/esm/banner.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
})(AdbBannerKey || (AdbBannerKey = {}));
|
|
1
|
+
export const AdbBannerKey = {
|
|
2
|
+
Product: "ro.product.name",
|
|
3
|
+
Model: "ro.product.model",
|
|
4
|
+
Device: "ro.product.device",
|
|
5
|
+
Features: "features",
|
|
6
|
+
};
|
|
8
7
|
export class AdbBanner {
|
|
9
8
|
static parse(banner) {
|
|
10
9
|
let product;
|
package/esm/banner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAEA,MAAM,
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,kBAAkB;IACzB,MAAM,EAAE,mBAAmB;IAC3B,QAAQ,EAAE,UAAU;CACd,CAAC;AAIX,MAAM,OAAO,SAAS;IAClB,MAAM,CAAC,KAAK,CAAC,MAAc;QACvB,IAAI,OAA2B,CAAC;QAChC,IAAI,KAAyB,CAAC;QAC9B,IAAI,MAA0B,CAAC;QAC/B,IAAI,QAAQ,GAAiB,EAAE,CAAC;QAEhC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,qBAAqB;gBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,SAAS;gBACb,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,SAAS;gBACb,CAAC;gBAED,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC;gBAC9B,QAAQ,GAAG,EAAE,CAAC;oBACV,KAAK,YAAY,CAAC,OAAO;wBACrB,OAAO,GAAG,KAAK,CAAC;wBAChB,MAAM;oBACV,KAAK,YAAY,CAAC,KAAK;wBACnB,KAAK,GAAG,KAAK,CAAC;wBACd,MAAM;oBACV,KAAK,YAAY,CAAC,MAAM;wBACpB,MAAM,GAAG,KAAK,CAAC;wBACf,MAAM;oBACV,KAAK,YAAY,CAAC,QAAQ;wBACtB,QAAQ,GAAG,KAAM,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;wBAC7C,MAAM;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,QAAQ,CAAqB;IAC7B,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM,CAAqB;IAC3B,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,CAAqB;IAC5B,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,SAAS,GAAiB,EAAE,CAAC;IAC7B,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,YACI,OAA2B,EAC3B,KAAyB,EACzB,MAA0B,EAC1B,QAAsB;QAEtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;CACJ"}
|
|
@@ -1,38 +1,67 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { StructValue } from "@yume-chan/struct";
|
|
2
2
|
import type { Adb } from "../adb.js";
|
|
3
|
-
export declare const AdbFrameBufferV1: Struct<{
|
|
4
|
-
bpp: number
|
|
5
|
-
size: number
|
|
6
|
-
width: number
|
|
7
|
-
height: number
|
|
8
|
-
red_offset: number
|
|
9
|
-
red_length: number
|
|
10
|
-
blue_offset: number
|
|
11
|
-
blue_length: number
|
|
12
|
-
green_offset: number
|
|
13
|
-
green_length: number
|
|
14
|
-
alpha_offset: number
|
|
15
|
-
alpha_length: number
|
|
16
|
-
data: Uint8Array
|
|
17
|
-
}, "
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
3
|
+
export declare const AdbFrameBufferV1: import("@yume-chan/struct").Struct<{
|
|
4
|
+
bpp: import("@yume-chan/struct").NumberField<number>;
|
|
5
|
+
size: import("@yume-chan/struct").NumberField<number>;
|
|
6
|
+
width: import("@yume-chan/struct").NumberField<number>;
|
|
7
|
+
height: import("@yume-chan/struct").NumberField<number>;
|
|
8
|
+
red_offset: import("@yume-chan/struct").NumberField<number>;
|
|
9
|
+
red_length: import("@yume-chan/struct").NumberField<number>;
|
|
10
|
+
blue_offset: import("@yume-chan/struct").NumberField<number>;
|
|
11
|
+
blue_length: import("@yume-chan/struct").NumberField<number>;
|
|
12
|
+
green_offset: import("@yume-chan/struct").NumberField<number>;
|
|
13
|
+
green_length: import("@yume-chan/struct").NumberField<number>;
|
|
14
|
+
alpha_offset: import("@yume-chan/struct").NumberField<number>;
|
|
15
|
+
alpha_length: import("@yume-chan/struct").NumberField<number>;
|
|
16
|
+
data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, "size", Record<"size", number>>;
|
|
17
|
+
}, {}, import("@yume-chan/struct").FieldsType<{
|
|
18
|
+
bpp: import("@yume-chan/struct").NumberField<number>;
|
|
19
|
+
size: import("@yume-chan/struct").NumberField<number>;
|
|
20
|
+
width: import("@yume-chan/struct").NumberField<number>;
|
|
21
|
+
height: import("@yume-chan/struct").NumberField<number>;
|
|
22
|
+
red_offset: import("@yume-chan/struct").NumberField<number>;
|
|
23
|
+
red_length: import("@yume-chan/struct").NumberField<number>;
|
|
24
|
+
blue_offset: import("@yume-chan/struct").NumberField<number>;
|
|
25
|
+
blue_length: import("@yume-chan/struct").NumberField<number>;
|
|
26
|
+
green_offset: import("@yume-chan/struct").NumberField<number>;
|
|
27
|
+
green_length: import("@yume-chan/struct").NumberField<number>;
|
|
28
|
+
alpha_offset: import("@yume-chan/struct").NumberField<number>;
|
|
29
|
+
alpha_length: import("@yume-chan/struct").NumberField<number>;
|
|
30
|
+
data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, "size", Record<"size", number>>;
|
|
31
|
+
}>>;
|
|
32
|
+
export type AdbFrameBufferV1 = StructValue<typeof AdbFrameBufferV1>;
|
|
33
|
+
export declare const AdbFrameBufferV2: import("@yume-chan/struct").Struct<{
|
|
34
|
+
bpp: import("@yume-chan/struct").NumberField<number>;
|
|
35
|
+
colorSpace: import("@yume-chan/struct").NumberField<number>;
|
|
36
|
+
size: import("@yume-chan/struct").NumberField<number>;
|
|
37
|
+
width: import("@yume-chan/struct").NumberField<number>;
|
|
38
|
+
height: import("@yume-chan/struct").NumberField<number>;
|
|
39
|
+
red_offset: import("@yume-chan/struct").NumberField<number>;
|
|
40
|
+
red_length: import("@yume-chan/struct").NumberField<number>;
|
|
41
|
+
blue_offset: import("@yume-chan/struct").NumberField<number>;
|
|
42
|
+
blue_length: import("@yume-chan/struct").NumberField<number>;
|
|
43
|
+
green_offset: import("@yume-chan/struct").NumberField<number>;
|
|
44
|
+
green_length: import("@yume-chan/struct").NumberField<number>;
|
|
45
|
+
alpha_offset: import("@yume-chan/struct").NumberField<number>;
|
|
46
|
+
alpha_length: import("@yume-chan/struct").NumberField<number>;
|
|
47
|
+
data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, "size", Record<"size", number>>;
|
|
48
|
+
}, {}, import("@yume-chan/struct").FieldsType<{
|
|
49
|
+
bpp: import("@yume-chan/struct").NumberField<number>;
|
|
50
|
+
colorSpace: import("@yume-chan/struct").NumberField<number>;
|
|
51
|
+
size: import("@yume-chan/struct").NumberField<number>;
|
|
52
|
+
width: import("@yume-chan/struct").NumberField<number>;
|
|
53
|
+
height: import("@yume-chan/struct").NumberField<number>;
|
|
54
|
+
red_offset: import("@yume-chan/struct").NumberField<number>;
|
|
55
|
+
red_length: import("@yume-chan/struct").NumberField<number>;
|
|
56
|
+
blue_offset: import("@yume-chan/struct").NumberField<number>;
|
|
57
|
+
blue_length: import("@yume-chan/struct").NumberField<number>;
|
|
58
|
+
green_offset: import("@yume-chan/struct").NumberField<number>;
|
|
59
|
+
green_length: import("@yume-chan/struct").NumberField<number>;
|
|
60
|
+
alpha_offset: import("@yume-chan/struct").NumberField<number>;
|
|
61
|
+
alpha_length: import("@yume-chan/struct").NumberField<number>;
|
|
62
|
+
data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, "size", Record<"size", number>>;
|
|
63
|
+
}>>;
|
|
64
|
+
export type AdbFrameBufferV2 = StructValue<typeof AdbFrameBufferV2>;
|
|
36
65
|
/**
|
|
37
66
|
* ADB uses 8 int32 fields to describe bit depths
|
|
38
67
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiB5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkB5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEjE,8BAAsB,mBAAoB,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAGtD;AAED,qBAAa,qCAAsC,SAAQ,mBAAmB;gBAC9D,OAAO,EAAE,MAAM;CAG9B;AAED,qBAAa,4BAA6B,SAAQ,mBAAmB;;CAIpE;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAuBnE"}
|
|
@@ -1,35 +1,37 @@
|
|
|
1
1
|
import { BufferedReadableStream } from "@yume-chan/stream-extra";
|
|
2
|
-
import
|
|
3
|
-
const Version =
|
|
4
|
-
export const AdbFrameBufferV1 =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
2
|
+
import { buffer, struct, StructEmptyError, u32 } from "@yume-chan/struct";
|
|
3
|
+
const Version = struct({ version: u32 }, { littleEndian: true });
|
|
4
|
+
export const AdbFrameBufferV1 = struct({
|
|
5
|
+
bpp: u32,
|
|
6
|
+
size: u32,
|
|
7
|
+
width: u32,
|
|
8
|
+
height: u32,
|
|
9
|
+
red_offset: u32,
|
|
10
|
+
red_length: u32,
|
|
11
|
+
blue_offset: u32,
|
|
12
|
+
blue_length: u32,
|
|
13
|
+
green_offset: u32,
|
|
14
|
+
green_length: u32,
|
|
15
|
+
alpha_offset: u32,
|
|
16
|
+
alpha_length: u32,
|
|
17
|
+
data: buffer("size"),
|
|
18
|
+
}, { littleEndian: true });
|
|
19
|
+
export const AdbFrameBufferV2 = struct({
|
|
20
|
+
bpp: u32,
|
|
21
|
+
colorSpace: u32,
|
|
22
|
+
size: u32,
|
|
23
|
+
width: u32,
|
|
24
|
+
height: u32,
|
|
25
|
+
red_offset: u32,
|
|
26
|
+
red_length: u32,
|
|
27
|
+
blue_offset: u32,
|
|
28
|
+
blue_length: u32,
|
|
29
|
+
green_offset: u32,
|
|
30
|
+
green_length: u32,
|
|
31
|
+
alpha_offset: u32,
|
|
32
|
+
alpha_length: u32,
|
|
33
|
+
data: buffer("size"),
|
|
34
|
+
}, { littleEndian: true });
|
|
33
35
|
export class AdbFrameBufferError extends Error {
|
|
34
36
|
constructor(message, options) {
|
|
35
37
|
super(message, options);
|
|
@@ -61,9 +63,9 @@ export async function framebuffer(adb) {
|
|
|
61
63
|
switch (version) {
|
|
62
64
|
case 1:
|
|
63
65
|
// TODO: AdbFrameBuffer: does all v1 responses uses the same color space? Add it so the command returns same format for all versions.
|
|
64
|
-
return AdbFrameBufferV1.deserialize(stream);
|
|
66
|
+
return await AdbFrameBufferV1.deserialize(stream);
|
|
65
67
|
case 2:
|
|
66
|
-
return AdbFrameBufferV2.deserialize(stream);
|
|
68
|
+
return await AdbFrameBufferV2.deserialize(stream);
|
|
67
69
|
default:
|
|
68
70
|
throw new AdbFrameBufferUnsupportedVersionError(version);
|
|
69
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAI1E,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAClC;IACI,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;CACvB,EACD,EAAE,YAAY,EAAE,IAAI,EAAE,CACzB,CAAC;AAIF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAClC;IACI,GAAG,EAAE,GAAG;IACR,UAAU,EAAE,GAAG;IACf,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;CACvB,EACD,EAAE,YAAY,EAAE,IAAI,EAAE,CACzB,CAAC;AAsBF,MAAM,OAAgB,mBAAoB,SAAQ,KAAK;IACnD,YAAY,OAAe,EAAE,OAAsB;QAC/C,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;CACJ;AAED,MAAM,OAAO,qCAAsC,SAAQ,mBAAmB;IAC1E,YAAY,OAAe;QACvB,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;CACJ;AAED,MAAM,OAAO,4BAA6B,SAAQ,mBAAmB;IACjE;QACI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACpD,CAAC;CACJ;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAQ;IACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE3D,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACD,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;YAChC,MAAM,IAAI,4BAA4B,EAAE,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,CAAC;IACZ,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,CAAC;YACF,qIAAqI;YACrI,OAAO,MAAM,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtD,KAAK,CAAC;YACF,OAAO,MAAM,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtD;YACI,MAAM,IAAI,qCAAqC,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../src/commands/power.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,qBAAa,QAAS,SAAQ,cAAc;IACxC,MAAM,CAAC,IAAI,SAAK;IAIhB,UAAU;IAIV,QAAQ;IAIR,QAAQ;IAIR,QAAQ;IAIR;;;;OAIG;IACH,eAAe;IAIf,QAAQ;IAIR,WAAW,CAAC,SAAS,UAAQ;
|
|
1
|
+
{"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../src/commands/power.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,qBAAa,QAAS,SAAQ,cAAc;IACxC,MAAM,CAAC,IAAI,SAAK;IAIhB,UAAU;IAIV,QAAQ;IAIR,QAAQ;IAIR,QAAQ;IAIR;;;;OAIG;IACH,eAAe;IAIf,QAAQ;IAIR,WAAW,CAAC,SAAS,UAAQ;IAU7B;;;;OAIG;IACH,WAAW;CAGd"}
|
package/esm/commands/power.js
CHANGED
|
@@ -31,11 +31,12 @@ export class AdbPower extends AdbCommandBase {
|
|
|
31
31
|
return this.adb.subprocess.spawnAndWaitLegacy(["reboot", "-p"]);
|
|
32
32
|
}
|
|
33
33
|
powerButton(longPress = false) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
const args = ["input", "keyevent"];
|
|
35
|
+
if (longPress) {
|
|
36
|
+
args.push("--longpress");
|
|
37
|
+
}
|
|
38
|
+
args.push("POWER");
|
|
39
|
+
return this.adb.subprocess.spawnAndWaitLegacy(args);
|
|
39
40
|
}
|
|
40
41
|
/**
|
|
41
42
|
* Reboot to Samsung Odin download mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power.js","sourceRoot":"","sources":["../../src/commands/power.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,0BAA0B;AAC1B,0BAA0B;AAC1B,2BAA2B;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,OAAO,QAAS,SAAQ,cAAc;IACxC,MAAM,CAAC,IAAI,GAAG,EAAE;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,SAAS,GAAG,KAAK;QACzB,
|
|
1
|
+
{"version":3,"file":"power.js","sourceRoot":"","sources":["../../src/commands/power.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,0BAA0B;AAC1B,0BAA0B;AAC1B,2BAA2B;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,OAAO,QAAS,SAAQ,cAAc;IACxC,MAAM,CAAC,IAAI,GAAG,EAAE;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,SAAS,GAAG,KAAK;QACzB,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnC,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;CACJ"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AutoDisposable } from "@yume-chan/event";
|
|
2
1
|
import { BufferedReadableStream } from "@yume-chan/stream-extra";
|
|
3
2
|
import type { Adb, AdbIncomingSocketHandler } from "../adb.js";
|
|
4
3
|
export interface AdbForwardListener {
|
|
@@ -12,30 +11,31 @@ export declare class AdbReverseError extends Error {
|
|
|
12
11
|
export declare class AdbReverseNotSupportedError extends AdbReverseError {
|
|
13
12
|
constructor();
|
|
14
13
|
}
|
|
15
|
-
export declare class AdbReverseCommand
|
|
14
|
+
export declare class AdbReverseCommand {
|
|
16
15
|
#private;
|
|
17
16
|
protected adb: Adb;
|
|
18
17
|
constructor(adb: Adb);
|
|
19
18
|
protected createBufferedStream(service: string): Promise<BufferedReadableStream>;
|
|
20
19
|
protected sendRequest(service: string): Promise<BufferedReadableStream>;
|
|
20
|
+
/**
|
|
21
|
+
* Get a list of all reverse port forwarding on the device.
|
|
22
|
+
*/
|
|
21
23
|
list(): Promise<AdbForwardListener[]>;
|
|
22
24
|
/**
|
|
23
|
-
* Add
|
|
24
|
-
* @param deviceAddress The address to be listened on device by ADB daemon. Or `tcp:0` to choose an available TCP port.
|
|
25
|
-
* @param localAddress The address that listens on the local machine.
|
|
26
|
-
* @returns `tcp:{ACTUAL_LISTENING_PORT}`, If `deviceAddress` is `tcp:0`; otherwise, `deviceAddress`.
|
|
25
|
+
* Add a reverse port forwarding for a program that already listens on a port.
|
|
27
26
|
*/
|
|
28
27
|
addExternal(deviceAddress: string, localAddress: string): Promise<string>;
|
|
29
28
|
/**
|
|
30
|
-
*
|
|
31
|
-
* @param handler A callback to handle incoming connections.
|
|
32
|
-
* @param localAddressThe The address that listens on the local machine. May be `undefined` to let the transport choose an appropriate one.
|
|
33
|
-
* @returns `tcp:{ACTUAL_LISTENING_PORT}`, If `deviceAddress` is `tcp:0`; otherwise, `deviceAddress`.
|
|
34
|
-
* @throws {AdbReverseNotSupportedError} If ADB reverse tunnel is not supported on this device when connected wirelessly.
|
|
35
|
-
* @throws {AdbReverseError} If ADB daemon returns an error.
|
|
29
|
+
* Add a reverse port forwarding.
|
|
36
30
|
*/
|
|
37
31
|
add(deviceAddress: string, handler: AdbIncomingSocketHandler, localAddress?: string): Promise<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Remove a reverse port forwarding.
|
|
34
|
+
*/
|
|
38
35
|
remove(deviceAddress: string): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Remove all reverse port forwarding, including the ones added by other programs.
|
|
38
|
+
*/
|
|
39
39
|
removeAll(): Promise<void>;
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=reverse.d.ts.map
|