|
11 | 11 | import subprocess |
12 | 12 | import threading |
13 | 13 | import typing |
14 | | -from typing import List, Optional, Union |
| 14 | +from typing import List, Optional, Union, overload |
| 15 | + |
| 16 | +try: |
| 17 | + from typing import Literal |
| 18 | +except ImportError: |
| 19 | + from typing_extensions import Literal |
15 | 20 |
|
16 | 21 | from PIL import Image, UnidentifiedImageError |
17 | 22 | from deprecation import deprecated |
@@ -172,6 +177,47 @@ def open_shell(self, cmdargs: Union[str, list, tuple]) -> AdbConnection: |
172 | 177 | c.check_okay() |
173 | 178 | return c |
174 | 179 |
|
| 180 | + @overload |
| 181 | + def shell( |
| 182 | + self, |
| 183 | + cmdargs: Union[str, list, tuple], |
| 184 | + stream: Literal[True], |
| 185 | + timeout: Optional[float] = _DEFAULT_SOCKET_TIMEOUT, |
| 186 | + encoding: str | None = "utf-8", |
| 187 | + rstrip=True, |
| 188 | + ) -> AdbConnection: ... |
| 189 | + |
| 190 | + @overload |
| 191 | + def shell( |
| 192 | + self, |
| 193 | + cmdargs: Union[str, list, tuple], |
| 194 | + *, |
| 195 | + stream: Literal[False] = False, |
| 196 | + timeout: Optional[float] = _DEFAULT_SOCKET_TIMEOUT, |
| 197 | + encoding: Literal[None], |
| 198 | + rstrip=True, |
| 199 | + ) -> bytes: ... |
| 200 | + |
| 201 | + @overload |
| 202 | + def shell( |
| 203 | + self, |
| 204 | + cmdargs: Union[str, list, tuple], |
| 205 | + stream: Literal[False] = False, |
| 206 | + timeout: Optional[float] = _DEFAULT_SOCKET_TIMEOUT, |
| 207 | + *, |
| 208 | + encoding: str, |
| 209 | + rstrip=True, |
| 210 | + ) -> str: ... |
| 211 | + |
| 212 | + @overload |
| 213 | + def shell( |
| 214 | + self, |
| 215 | + cmdargs: Union[str, list, tuple], |
| 216 | + stream: Literal[False] = False, |
| 217 | + timeout: Optional[float] = _DEFAULT_SOCKET_TIMEOUT, |
| 218 | + rstrip=True, |
| 219 | + ) -> str: ... |
| 220 | + |
175 | 221 | def shell( |
176 | 222 | self, |
177 | 223 | cmdargs: Union[str, list, tuple], |
@@ -218,6 +264,37 @@ def shell( |
218 | 264 | return output.rstrip() if rstrip else output |
219 | 265 | return output |
220 | 266 |
|
| 267 | + @overload |
| 268 | + def shell2( |
| 269 | + self, |
| 270 | + cmdargs: Union[str, list, tuple], |
| 271 | + timeout: Optional[float] = _DEFAULT_SOCKET_TIMEOUT, |
| 272 | + *, |
| 273 | + encoding: Literal[None], |
| 274 | + rstrip=False, |
| 275 | + v2=False, |
| 276 | + ) -> ShellReturnRaw: ... |
| 277 | + |
| 278 | + @overload |
| 279 | + def shell2( |
| 280 | + self, |
| 281 | + cmdargs: Union[str, list, tuple], |
| 282 | + timeout: Optional[float] = _DEFAULT_SOCKET_TIMEOUT, |
| 283 | + *, |
| 284 | + encoding: str, |
| 285 | + rstrip=False, |
| 286 | + v2=False, |
| 287 | + ) -> ShellReturn: ... |
| 288 | + |
| 289 | + @overload |
| 290 | + def shell2( |
| 291 | + self, |
| 292 | + cmdargs: Union[str, list, tuple], |
| 293 | + timeout: Optional[float] = _DEFAULT_SOCKET_TIMEOUT, |
| 294 | + rstrip=False, |
| 295 | + v2=False, |
| 296 | + ) -> ShellReturn: ... |
| 297 | + |
221 | 298 | def shell2( |
222 | 299 | self, |
223 | 300 | cmdargs: Union[str, list, tuple], |
|
0 commit comments