nativescript 8.9.0-alpha.3 → 8.9.0-dev.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.
Files changed (342) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -20
  3. package/lib/base-package-manager.js +47 -64
  4. package/lib/bun-package-manager.js +65 -88
  5. package/lib/color.js +2 -2
  6. package/lib/commands/add-platform.js +14 -30
  7. package/lib/commands/apple-login.js +18 -29
  8. package/lib/commands/appstore-list.js +34 -45
  9. package/lib/commands/appstore-upload.js +52 -65
  10. package/lib/commands/build.js +55 -87
  11. package/lib/commands/clean.js +161 -176
  12. package/lib/commands/command-base.js +14 -27
  13. package/lib/commands/config.js +48 -67
  14. package/lib/commands/create-project.js +210 -229
  15. package/lib/commands/debug.js +66 -88
  16. package/lib/commands/deploy.js +28 -44
  17. package/lib/commands/embedding/embed.js +33 -52
  18. package/lib/commands/extensibility/install-extension.js +5 -16
  19. package/lib/commands/extensibility/list-extensions.js +13 -24
  20. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  21. package/lib/commands/fonts.js +30 -41
  22. package/lib/commands/generate-assets.js +13 -28
  23. package/lib/commands/generate-help.js +2 -13
  24. package/lib/commands/generate.js +12 -60
  25. package/lib/commands/info.js +2 -13
  26. package/lib/commands/install.js +34 -49
  27. package/lib/commands/list-platforms.js +14 -25
  28. package/lib/commands/migrate.js +15 -26
  29. package/lib/commands/native-add.js +23 -46
  30. package/lib/commands/platform-clean.js +19 -32
  31. package/lib/commands/plugin/add-plugin.js +12 -25
  32. package/lib/commands/plugin/build-plugin.js +31 -44
  33. package/lib/commands/plugin/create-plugin.js +110 -133
  34. package/lib/commands/plugin/list-plugins.js +22 -33
  35. package/lib/commands/plugin/remove-plugin.js +20 -33
  36. package/lib/commands/plugin/update-plugin.js +20 -33
  37. package/lib/commands/post-install.js +20 -33
  38. package/lib/commands/prepare.js +19 -35
  39. package/lib/commands/preview.js +49 -62
  40. package/lib/commands/remove-platform.js +7 -18
  41. package/lib/commands/resources/resources-update.js +13 -26
  42. package/lib/commands/run.js +55 -76
  43. package/lib/commands/start.js +6 -19
  44. package/lib/commands/test-init.js +123 -134
  45. package/lib/commands/test.js +66 -89
  46. package/lib/commands/typings.js +126 -142
  47. package/lib/commands/update-platform.js +22 -35
  48. package/lib/commands/update.js +30 -43
  49. package/lib/common/child-process.js +53 -72
  50. package/lib/common/codeGeneration/code-entity.js +1 -1
  51. package/lib/common/codeGeneration/code-printer.js +1 -1
  52. package/lib/common/command-params.js +7 -18
  53. package/lib/common/commands/analytics.js +27 -40
  54. package/lib/common/commands/autocompletion.js +39 -56
  55. package/lib/common/commands/device/device-log-stream.js +12 -23
  56. package/lib/common/commands/device/get-file.js +22 -33
  57. package/lib/common/commands/device/list-applications.js +12 -23
  58. package/lib/common/commands/device/list-devices.js +72 -87
  59. package/lib/common/commands/device/list-files.js +23 -34
  60. package/lib/common/commands/device/put-file.js +22 -33
  61. package/lib/common/commands/device/run-application.js +12 -25
  62. package/lib/common/commands/device/stop-application.js +11 -22
  63. package/lib/common/commands/device/uninstall-application.js +6 -17
  64. package/lib/common/commands/generate-messages.js +17 -28
  65. package/lib/common/commands/help.js +20 -33
  66. package/lib/common/commands/package-manager-get.js +6 -17
  67. package/lib/common/commands/package-manager-set.js +9 -20
  68. package/lib/common/commands/post-install.js +2 -13
  69. package/lib/common/commands/preuninstall.js +23 -38
  70. package/lib/common/commands/proxy/proxy-base.js +8 -19
  71. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  72. package/lib/common/commands/proxy/proxy-get.js +3 -14
  73. package/lib/common/commands/proxy/proxy-set.js +87 -100
  74. package/lib/common/constants.js +11 -11
  75. package/lib/common/decorators.js +10 -22
  76. package/lib/common/dispatchers.js +79 -96
  77. package/lib/common/errors.js +89 -104
  78. package/lib/common/file-system.js +108 -130
  79. package/lib/common/header.js +1 -2
  80. package/lib/common/helpers.js +149 -178
  81. package/lib/common/host-info.js +37 -50
  82. package/lib/common/http-client.js +93 -108
  83. package/lib/common/logger/appenders/cli-appender.js +1 -2
  84. package/lib/common/logger/appenders/emit-appender.js +1 -2
  85. package/lib/common/logger/layouts/cli-layout.js +1 -2
  86. package/lib/common/logger/logger.js +4 -4
  87. package/lib/common/mobile/android/android-application-manager.js +121 -142
  88. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  89. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  90. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  91. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  92. package/lib/common/mobile/android/android-device.js +68 -85
  93. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  94. package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
  95. package/lib/common/mobile/android/android-log-filter.js +1 -1
  96. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  97. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  98. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  99. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  100. package/lib/common/mobile/android/logcat-helper.js +108 -127
  101. package/lib/common/mobile/application-manager-base.js +84 -107
  102. package/lib/common/mobile/device-log-provider-base.js +7 -18
  103. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  104. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  105. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  106. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  107. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  108. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  109. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  110. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  111. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  112. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  113. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  114. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  115. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  116. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  117. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  118. package/lib/common/mobile/mobile-core/devices-service.js +386 -436
  119. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  120. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  121. package/lib/common/mobile/mobile-helper.js +15 -26
  122. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  123. package/lib/common/opener.js +2 -2
  124. package/lib/common/prompter.js +90 -105
  125. package/lib/common/queue.js +9 -20
  126. package/lib/common/services/auto-completion-service.js +39 -52
  127. package/lib/common/services/cancellation.js +17 -28
  128. package/lib/common/services/commands-service.js +146 -169
  129. package/lib/common/services/help-service.js +132 -157
  130. package/lib/common/services/hooks-service.js +93 -108
  131. package/lib/common/services/ios-notification-service.js +21 -34
  132. package/lib/common/services/json-file-settings-service.js +52 -71
  133. package/lib/common/services/lock-service.js +35 -52
  134. package/lib/common/services/message-contract-generator.js +35 -46
  135. package/lib/common/services/micro-templating-service.js +4 -15
  136. package/lib/common/services/net-service.js +90 -107
  137. package/lib/common/services/project-files-manager.js +10 -23
  138. package/lib/common/services/proxy-service.js +13 -24
  139. package/lib/common/services/qr.js +13 -24
  140. package/lib/common/services/settings-service.js +1 -1
  141. package/lib/common/services/xcode-select-service.js +20 -35
  142. package/lib/common/utils.js +2 -2
  143. package/lib/common/validators/project-name-validator.js +1 -1
  144. package/lib/common/validators/validation-result.js +1 -1
  145. package/lib/common/verify-node-version.js +2 -3
  146. package/lib/common/yok.js +23 -36
  147. package/lib/config.js +36 -51
  148. package/lib/constants.js +24 -24
  149. package/lib/controllers/build-controller.js +82 -99
  150. package/lib/controllers/debug-controller.js +107 -128
  151. package/lib/controllers/deploy-controller.js +15 -23
  152. package/lib/controllers/migrate-controller.js +722 -795
  153. package/lib/controllers/platform-controller.js +70 -85
  154. package/lib/controllers/prepare-controller.js +232 -261
  155. package/lib/controllers/run-controller.js +397 -411
  156. package/lib/controllers/update-controller-base.js +16 -29
  157. package/lib/controllers/update-controller.js +94 -119
  158. package/lib/data/prepare-data.js +4 -1
  159. package/lib/definitions/ios.d.ts +9 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +44 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +150 -200
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +163 -199
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +22 -35
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +205 -231
  194. package/lib/services/android-project-service.js +126 -171
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +195 -214
  198. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
  199. package/lib/services/assets-generation/assets-generation-service.js +103 -117
  200. package/lib/services/build-artifacts-service.js +9 -20
  201. package/lib/services/build-info-file-service.js +20 -35
  202. package/lib/services/cleanup-service.js +47 -76
  203. package/lib/services/cocoapods-service.js +111 -132
  204. package/lib/services/device/device-install-app-service.js +54 -71
  205. package/lib/services/doctor-service.js +99 -118
  206. package/lib/services/extensibility-service.js +81 -100
  207. package/lib/services/files-hash-service.js +26 -43
  208. package/lib/services/hmr-status-service.js +1 -1
  209. package/lib/services/initialize-service.js +37 -50
  210. package/lib/services/ios/export-options-plist-service.js +38 -51
  211. package/lib/services/ios/ios-signing-service.js +168 -187
  212. package/lib/services/ios/spm-service.js +43 -53
  213. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  214. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  215. package/lib/services/ios/xcodebuild-service.js +52 -71
  216. package/lib/services/ios-debugger-port-service.js +24 -37
  217. package/lib/services/ios-device-debug-service.js +75 -102
  218. package/lib/services/ios-entitlements-service.js +31 -42
  219. package/lib/services/ios-extensions-service.js +18 -29
  220. package/lib/services/ios-project-service.js +419 -460
  221. package/lib/services/ios-provision-service.js +108 -129
  222. package/lib/services/ios-watch-app-service.js +21 -32
  223. package/lib/services/ip-service.js +38 -53
  224. package/lib/services/itmstransporter-service.js +129 -152
  225. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  226. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  227. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  228. package/lib/services/livesync/android-livesync-service.js +14 -35
  229. package/lib/services/livesync/android-livesync-tool.js +90 -113
  230. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  231. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  232. package/lib/services/livesync/ios-livesync-service.js +42 -58
  233. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  234. package/lib/services/log-parser-service.js +1 -1
  235. package/lib/services/log-source-map-service.js +30 -41
  236. package/lib/services/marking-mode-service.js +15 -28
  237. package/lib/services/npm-config-service.js +1 -1
  238. package/lib/services/pacote-service.js +51 -66
  239. package/lib/services/performance-service.js +1 -1
  240. package/lib/services/platform/add-platform-service.js +50 -71
  241. package/lib/services/platform/platform-validation-service.js +22 -33
  242. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  243. package/lib/services/platform-environment-requirements.js +26 -37
  244. package/lib/services/plugins-service.js +122 -147
  245. package/lib/services/project-backup-service.js +1 -1
  246. package/lib/services/project-changes-service.js +124 -141
  247. package/lib/services/project-cleanup-service.js +64 -77
  248. package/lib/services/project-config-service.js +71 -80
  249. package/lib/services/project-data-service.js +101 -118
  250. package/lib/services/project-name-service.js +28 -43
  251. package/lib/services/project-service.js +84 -103
  252. package/lib/services/project-templates-service.js +52 -67
  253. package/lib/services/start-service.js +41 -59
  254. package/lib/services/temp-service.js +8 -21
  255. package/lib/services/terminal-spinner-service.js +15 -26
  256. package/lib/services/test-execution-service.js +59 -72
  257. package/lib/services/test-initialization-service.js +2 -2
  258. package/lib/services/timeline-profiler-service.js +1 -1
  259. package/lib/services/versions-service.js +119 -138
  260. package/lib/services/webpack/webpack-compiler-service.js +214 -234
  261. package/lib/services/xcconfig-service.js +8 -19
  262. package/lib/sys-info.js +45 -62
  263. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  264. package/lib/yarn-package-manager.js +59 -78
  265. package/lib/yarn2-package-manager.js +60 -79
  266. package/package.json +66 -81
  267. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  268. package/node_modules/@npmcli/move-file/README.md +0 -69
  269. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  270. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  281. package/node_modules/@npmcli/move-file/package.json +0 -47
  282. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  283. package/node_modules/balanced-match/LICENSE.md +0 -21
  284. package/node_modules/balanced-match/README.md +0 -97
  285. package/node_modules/balanced-match/index.js +0 -62
  286. package/node_modules/balanced-match/package.json +0 -48
  287. package/node_modules/concat-map/.travis.yml +0 -4
  288. package/node_modules/concat-map/LICENSE +0 -18
  289. package/node_modules/concat-map/README.markdown +0 -62
  290. package/node_modules/concat-map/example/map.js +0 -6
  291. package/node_modules/concat-map/index.js +0 -13
  292. package/node_modules/concat-map/package.json +0 -43
  293. package/node_modules/concat-map/test/map.js +0 -39
  294. package/node_modules/fs.realpath/LICENSE +0 -43
  295. package/node_modules/fs.realpath/README.md +0 -33
  296. package/node_modules/fs.realpath/index.js +0 -66
  297. package/node_modules/fs.realpath/old.js +0 -303
  298. package/node_modules/fs.realpath/package.json +0 -26
  299. package/node_modules/inflight/LICENSE +0 -15
  300. package/node_modules/inflight/README.md +0 -37
  301. package/node_modules/inflight/inflight.js +0 -54
  302. package/node_modules/inflight/package.json +0 -29
  303. package/node_modules/inherits/LICENSE +0 -16
  304. package/node_modules/inherits/README.md +0 -42
  305. package/node_modules/inherits/inherits.js +0 -9
  306. package/node_modules/inherits/inherits_browser.js +0 -27
  307. package/node_modules/inherits/package.json +0 -29
  308. package/node_modules/once/LICENSE +0 -15
  309. package/node_modules/once/README.md +0 -79
  310. package/node_modules/once/once.js +0 -42
  311. package/node_modules/once/package.json +0 -33
  312. package/node_modules/path-is-absolute/index.js +0 -20
  313. package/node_modules/path-is-absolute/license +0 -21
  314. package/node_modules/path-is-absolute/package.json +0 -43
  315. package/node_modules/path-is-absolute/readme.md +0 -59
  316. package/node_modules/rimraf/LICENSE +0 -15
  317. package/node_modules/rimraf/README.md +0 -101
  318. package/node_modules/rimraf/bin.js +0 -68
  319. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  320. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  321. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  322. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  323. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  324. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  325. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  326. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  327. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  328. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  329. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  330. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  331. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  332. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  333. package/node_modules/rimraf/package.json +0 -32
  334. package/node_modules/rimraf/rimraf.js +0 -360
  335. package/node_modules/stringify-package/LICENSE +0 -13
  336. package/node_modules/stringify-package/README.md +0 -55
  337. package/node_modules/stringify-package/index.js +0 -18
  338. package/node_modules/stringify-package/package.json +0 -38
  339. package/node_modules/wrappy/LICENSE +0 -15
  340. package/node_modules/wrappy/README.md +0 -36
  341. package/node_modules/wrappy/package.json +0 -29
  342. package/node_modules/wrappy/wrappy.js +0 -33
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.AndroidDeviceFileSystem = void 0;
13
4
  const path = require("path");
@@ -26,142 +17,118 @@ class AndroidDeviceFileSystem {
26
17
  this.$injector = $injector;
27
18
  this._deviceHashServices = Object.create(null);
28
19
  }
29
- listFiles(devicePath, appIdentifier) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- let listCommandArgs = ["ls", "-a", devicePath];
32
- if (appIdentifier) {
33
- listCommandArgs = ["run-as", appIdentifier].concat(listCommandArgs);
34
- }
35
- return this.adb.executeShellCommand(listCommandArgs);
36
- });
20
+ async listFiles(devicePath, appIdentifier) {
21
+ let listCommandArgs = ["ls", "-a", devicePath];
22
+ if (appIdentifier) {
23
+ listCommandArgs = ["run-as", appIdentifier].concat(listCommandArgs);
24
+ }
25
+ return this.adb.executeShellCommand(listCommandArgs);
37
26
  }
38
- getFile(deviceFilePath, appIdentifier, outputPath) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- const stdout = !outputPath;
41
- if (stdout) {
42
- outputPath = yield this.$tempService.path({
43
- prefix: "sync",
44
- suffix: ".tmp",
27
+ async getFile(deviceFilePath, appIdentifier, outputPath) {
28
+ const stdout = !outputPath;
29
+ if (stdout) {
30
+ outputPath = await this.$tempService.path({
31
+ prefix: "sync",
32
+ suffix: ".tmp",
33
+ });
34
+ }
35
+ await this.adb.executeCommand(["pull", deviceFilePath, outputPath]);
36
+ if (stdout) {
37
+ await new Promise((resolve, reject) => {
38
+ const readStream = this.$fs.createReadStream(outputPath);
39
+ readStream.pipe(process.stdout);
40
+ readStream.on("end", () => {
41
+ resolve();
45
42
  });
46
- }
47
- yield this.adb.executeCommand(["pull", deviceFilePath, outputPath]);
48
- if (stdout) {
49
- yield new Promise((resolve, reject) => {
50
- const readStream = this.$fs.createReadStream(outputPath);
51
- readStream.pipe(process.stdout);
52
- readStream.on("end", () => {
53
- resolve();
54
- });
55
- readStream.on("error", (err) => {
56
- reject(err);
57
- });
43
+ readStream.on("error", (err) => {
44
+ reject(err);
58
45
  });
59
- }
60
- });
46
+ });
47
+ }
61
48
  }
62
- getFileContent(deviceFilePath, appIdentifier) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- const result = yield this.adb.executeShellCommand(["cat", deviceFilePath]);
65
- return result;
66
- });
49
+ async getFileContent(deviceFilePath, appIdentifier) {
50
+ const result = await this.adb.executeShellCommand(["cat", deviceFilePath]);
51
+ return result;
67
52
  }
68
- putFile(localFilePath, deviceFilePath, appIdentifier) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- yield this.adb.pushFile(localFilePath, deviceFilePath);
71
- });
53
+ async putFile(localFilePath, deviceFilePath, appIdentifier) {
54
+ await this.adb.pushFile(localFilePath, deviceFilePath);
72
55
  }
73
- transferFiles(deviceAppData, localToDevicePaths) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- const directoriesToChmod = [];
76
- const transferredFiles = [];
77
- const action = (localToDevicePathData) => __awaiter(this, void 0, void 0, function* () {
78
- const fstat = this.$fs.getFsStats(localToDevicePathData.getLocalPath());
79
- if (fstat.isFile()) {
80
- const devicePath = localToDevicePathData.getDevicePath();
81
- yield this.adb.pushFile(localToDevicePathData.getLocalPath(), devicePath);
82
- transferredFiles.push(localToDevicePathData);
83
- }
84
- else if (fstat.isDirectory()) {
85
- const dirToChmod = localToDevicePathData.getDevicePath();
86
- directoriesToChmod.push(dirToChmod);
87
- }
88
- });
89
- yield (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, action);
90
- const dirsChmodAction = (directoryToChmod) => this.adb.executeShellCommand(["chmod", "0777", directoryToChmod]);
91
- yield (0, helpers_1.executeActionByChunks)(_.uniq(directoriesToChmod), constants_1.DEFAULT_CHUNK_SIZE, dirsChmodAction);
92
- return transferredFiles;
93
- });
94
- }
95
- transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- const minAndroidWithoutAdbPushDir = "9.0.0";
98
- const isAdbPushDirSupported = semver.lt(semver.coerce(deviceAppData.device.deviceInfo.version), minAndroidWithoutAdbPushDir);
99
- const deviceProjectDir = yield deviceAppData.getDeviceProjectRootPath();
100
- let transferredLocalToDevicePaths = [];
101
- if (isAdbPushDirSupported) {
102
- yield this.adb.pushFile(projectFilesPath, deviceProjectDir);
103
- transferredLocalToDevicePaths = localToDevicePaths;
104
- }
105
- else {
106
- transferredLocalToDevicePaths = yield this.pushFiles(localToDevicePaths);
56
+ async transferFiles(deviceAppData, localToDevicePaths) {
57
+ const directoriesToChmod = [];
58
+ const transferredFiles = [];
59
+ const action = async (localToDevicePathData) => {
60
+ const fstat = this.$fs.getFsStats(localToDevicePathData.getLocalPath());
61
+ if (fstat.isFile()) {
62
+ const devicePath = localToDevicePathData.getDevicePath();
63
+ await this.adb.pushFile(localToDevicePathData.getLocalPath(), devicePath);
64
+ transferredFiles.push(localToDevicePathData);
107
65
  }
108
- if (transferredLocalToDevicePaths.length) {
109
- const filesToChmodOnDevice = transferredLocalToDevicePaths.map((localToDevicePath) => localToDevicePath.getDevicePath());
110
- yield this.chmodFiles(deviceProjectDir, filesToChmodOnDevice);
66
+ else if (fstat.isDirectory()) {
67
+ const dirToChmod = localToDevicePathData.getDevicePath();
68
+ directoriesToChmod.push(dirToChmod);
111
69
  }
112
- return transferredLocalToDevicePaths;
113
- });
70
+ };
71
+ await (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, action);
72
+ const dirsChmodAction = (directoryToChmod) => this.adb.executeShellCommand(["chmod", "0777", directoryToChmod]);
73
+ await (0, helpers_1.executeActionByChunks)(_.uniq(directoriesToChmod), constants_1.DEFAULT_CHUNK_SIZE, dirsChmodAction);
74
+ return transferredFiles;
114
75
  }
115
- chmodFiles(deviceProjectRoot, filesToChmodOnDevice) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- const commandsDeviceFilePath = this.$mobileHelper.buildDevicePath(deviceProjectRoot, "nativescript.commands.sh");
118
- yield this.createFileOnDevice(commandsDeviceFilePath, `chmod 0777 ${filesToChmodOnDevice.join(" ")}`);
119
- yield this.adb.executeShellCommand([commandsDeviceFilePath]);
120
- });
76
+ async transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath) {
77
+ const minAndroidWithoutAdbPushDir = "9.0.0";
78
+ const isAdbPushDirSupported = semver.lt(semver.coerce(deviceAppData.device.deviceInfo.version), minAndroidWithoutAdbPushDir);
79
+ const deviceProjectDir = await deviceAppData.getDeviceProjectRootPath();
80
+ let transferredLocalToDevicePaths = [];
81
+ if (isAdbPushDirSupported) {
82
+ await this.adb.pushFile(projectFilesPath, deviceProjectDir);
83
+ transferredLocalToDevicePaths = localToDevicePaths;
84
+ }
85
+ else {
86
+ transferredLocalToDevicePaths = await this.pushFiles(localToDevicePaths);
87
+ }
88
+ if (transferredLocalToDevicePaths.length) {
89
+ const filesToChmodOnDevice = transferredLocalToDevicePaths.map((localToDevicePath) => localToDevicePath.getDevicePath());
90
+ await this.chmodFiles(deviceProjectDir, filesToChmodOnDevice);
91
+ }
92
+ return transferredLocalToDevicePaths;
121
93
  }
122
- pushFiles(localToDevicePaths) {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- this.$logger.trace("Changed hashes are:", localToDevicePaths);
125
- const transferredFiles = [];
126
- const transferFileAction = (localToDevicePathData) => __awaiter(this, void 0, void 0, function* () {
127
- transferredFiles.push(localToDevicePathData);
128
- yield this.transferFile(localToDevicePathData.getLocalPath(), localToDevicePathData.getDevicePath());
129
- });
130
- yield (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, transferFileAction);
131
- return transferredFiles;
132
- });
94
+ async chmodFiles(deviceProjectRoot, filesToChmodOnDevice) {
95
+ const commandsDeviceFilePath = this.$mobileHelper.buildDevicePath(deviceProjectRoot, "nativescript.commands.sh");
96
+ await this.createFileOnDevice(commandsDeviceFilePath, `chmod 0777 ${filesToChmodOnDevice.join(" ")}`);
97
+ await this.adb.executeShellCommand([commandsDeviceFilePath]);
133
98
  }
134
- transferFile(localPath, devicePath) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- this.$logger.trace(`Transfering ${localPath} to ${devicePath}`);
137
- const stats = this.$fs.getFsStats(localPath);
138
- if (stats.isDirectory()) {
139
- yield this.adb.executeShellCommand(["mkdir", path.dirname(devicePath)]);
140
- }
141
- else {
142
- yield this.adb.pushFile(localPath, devicePath);
143
- }
144
- });
99
+ async pushFiles(localToDevicePaths) {
100
+ this.$logger.trace("Changed hashes are:", localToDevicePaths);
101
+ const transferredFiles = [];
102
+ const transferFileAction = async (localToDevicePathData) => {
103
+ transferredFiles.push(localToDevicePathData);
104
+ await this.transferFile(localToDevicePathData.getLocalPath(), localToDevicePathData.getDevicePath());
105
+ };
106
+ await (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, transferFileAction);
107
+ return transferredFiles;
108
+ }
109
+ async transferFile(localPath, devicePath) {
110
+ this.$logger.trace(`Transfering ${localPath} to ${devicePath}`);
111
+ const stats = this.$fs.getFsStats(localPath);
112
+ if (stats.isDirectory()) {
113
+ await this.adb.executeShellCommand(["mkdir", path.dirname(devicePath)]);
114
+ }
115
+ else {
116
+ await this.adb.pushFile(localPath, devicePath);
117
+ }
145
118
  }
146
- createFileOnDevice(deviceFilePath, fileContent) {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- const hostTmpDir = yield this.$tempService.mkdirSync("application-");
149
- const commandsFileHostPath = path.join(hostTmpDir, "temp.commands.file");
150
- this.$fs.writeFile(commandsFileHostPath, fileContent);
151
- yield this.transferFile(commandsFileHostPath, deviceFilePath);
152
- yield this.adb.executeShellCommand(["chmod", "0777", deviceFilePath]);
153
- });
119
+ async createFileOnDevice(deviceFilePath, fileContent) {
120
+ const hostTmpDir = await this.$tempService.mkdirSync("application-");
121
+ const commandsFileHostPath = path.join(hostTmpDir, "temp.commands.file");
122
+ this.$fs.writeFile(commandsFileHostPath, fileContent);
123
+ await this.transferFile(commandsFileHostPath, deviceFilePath);
124
+ await this.adb.executeShellCommand(["chmod", "0777", deviceFilePath]);
154
125
  }
155
- deleteFile(deviceFilePath, appIdentifier) {
156
- return __awaiter(this, void 0, void 0, function* () {
157
- yield this.adb.executeShellCommand(["rm", "-rf", deviceFilePath]);
158
- });
126
+ async deleteFile(deviceFilePath, appIdentifier) {
127
+ await this.adb.executeShellCommand(["rm", "-rf", deviceFilePath]);
159
128
  }
160
- updateHashesOnDevice(hashes, appIdentifier) {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- const deviceHashService = this.getDeviceHashService(appIdentifier);
163
- yield deviceHashService.uploadHashFileToDevice(hashes);
164
- });
129
+ async updateHashesOnDevice(hashes, appIdentifier) {
130
+ const deviceHashService = this.getDeviceHashService(appIdentifier);
131
+ await deviceHashService.uploadHashFileToDevice(hashes);
165
132
  }
166
133
  getDeviceHashService(appIdentifier) {
167
134
  if (!this._deviceHashServices[appIdentifier]) {
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.AndroidDeviceHashService = void 0;
19
10
  const path = require("path");
@@ -32,49 +23,39 @@ class AndroidDeviceHashService {
32
23
  get hashFileDevicePath() {
33
24
  return this.$mobileHelper.buildDevicePath(constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME, this.appIdentifier, AndroidDeviceHashService.HASH_FILE_NAME);
34
25
  }
35
- doesShasumFileExistsOnDevice() {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- const lsResult = yield this.adb.executeShellCommand([
38
- "ls",
39
- this.hashFileDevicePath,
40
- ]);
41
- return !!(lsResult && lsResult.trim() === this.hashFileDevicePath);
42
- });
26
+ async doesShasumFileExistsOnDevice() {
27
+ const lsResult = await this.adb.executeShellCommand([
28
+ "ls",
29
+ this.hashFileDevicePath,
30
+ ]);
31
+ return !!(lsResult && lsResult.trim() === this.hashFileDevicePath);
43
32
  }
44
- getShasumsFromDevice() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const hashFileLocalPath = yield this.downloadHashFileFromDevice();
47
- if (this.$fs.exists(hashFileLocalPath)) {
48
- return this.$fs.readJson(hashFileLocalPath);
49
- }
50
- return null;
51
- });
33
+ async getShasumsFromDevice() {
34
+ const hashFileLocalPath = await this.downloadHashFileFromDevice();
35
+ if (this.$fs.exists(hashFileLocalPath)) {
36
+ return this.$fs.readJson(hashFileLocalPath);
37
+ }
38
+ return null;
52
39
  }
53
- uploadHashFileToDevice(data) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- const hashFileLocalPath = yield this.getHashFileLocalPath();
56
- this.$fs.writeJson(hashFileLocalPath, data);
57
- yield this.adb.pushFile(hashFileLocalPath, this.hashFileDevicePath);
58
- });
40
+ async uploadHashFileToDevice(data) {
41
+ const hashFileLocalPath = await this.getHashFileLocalPath();
42
+ this.$fs.writeJson(hashFileLocalPath, data);
43
+ await this.adb.pushFile(hashFileLocalPath, this.hashFileDevicePath);
59
44
  }
60
- updateHashes(localToDevicePaths) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- const oldShasums = (yield this.getShasumsFromDevice()) || {};
63
- yield this.generateHashesFromLocalToDevicePaths(localToDevicePaths, oldShasums);
64
- yield this.uploadHashFileToDevice(oldShasums);
65
- });
45
+ async updateHashes(localToDevicePaths) {
46
+ const oldShasums = (await this.getShasumsFromDevice()) || {};
47
+ await this.generateHashesFromLocalToDevicePaths(localToDevicePaths, oldShasums);
48
+ await this.uploadHashFileToDevice(oldShasums);
66
49
  }
67
- generateHashesFromLocalToDevicePaths(localToDevicePaths, initialShasums = {}) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- const action = (localToDevicePathData) => __awaiter(this, void 0, void 0, function* () {
70
- const localPath = localToDevicePathData.getLocalPath();
71
- if (this.$fs.getFsStats(localPath).isFile()) {
72
- initialShasums[localPath] = yield this.$fs.getFileShasum(localPath);
73
- }
74
- });
75
- yield (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, action);
76
- return initialShasums;
77
- });
50
+ async generateHashesFromLocalToDevicePaths(localToDevicePaths, initialShasums = {}) {
51
+ const action = async (localToDevicePathData) => {
52
+ const localPath = localToDevicePathData.getLocalPath();
53
+ if (this.$fs.getFsStats(localPath).isFile()) {
54
+ initialShasums[localPath] = await this.$fs.getFileShasum(localPath);
55
+ }
56
+ };
57
+ await (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, action);
58
+ return initialShasums;
78
59
  }
79
60
  getDevicePaths(localToDevicePaths) {
80
61
  return _.map(localToDevicePaths, (localToDevicePathData) => {
@@ -87,39 +68,34 @@ class AndroidDeviceHashService {
87
68
  }
88
69
  return _.omitBy(currentShasums, (hash, pathToFile) => !!oldShasums[pathToFile] && oldShasums[pathToFile] === hash);
89
70
  }
90
- removeHashes(localToDevicePaths) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const oldShasums = yield this.getShasumsFromDevice();
93
- if (oldShasums) {
94
- const fileToShasumDictionary = _.omit(oldShasums, localToDevicePaths.map((ldp) => ldp.getLocalPath()));
95
- yield this.uploadHashFileToDevice(fileToShasumDictionary);
96
- return true;
97
- }
98
- return false;
99
- });
71
+ async removeHashes(localToDevicePaths) {
72
+ const oldShasums = await this.getShasumsFromDevice();
73
+ if (oldShasums) {
74
+ const fileToShasumDictionary = _.omit(oldShasums, localToDevicePaths.map((ldp) => ldp.getLocalPath()));
75
+ await this.uploadHashFileToDevice(fileToShasumDictionary);
76
+ return true;
77
+ }
78
+ return false;
100
79
  }
101
- getHashFileLocalPath() {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- return path.join(yield this.getTempDir(), AndroidDeviceHashService.HASH_FILE_NAME);
104
- });
80
+ async getHashFileLocalPath() {
81
+ return path.join(await this.getTempDir(), AndroidDeviceHashService.HASH_FILE_NAME);
105
82
  }
106
83
  getTempDir() {
107
84
  return this.$tempService.mkdirSync(`android-device-hash-service-${this.appIdentifier}`);
108
85
  }
109
- downloadHashFileFromDevice() {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- const hashFileLocalPath = yield this.getHashFileLocalPath();
112
- if (!this.$fs.exists(hashFileLocalPath)) {
113
- yield this.adb.executeCommand([
114
- "pull",
115
- this.hashFileDevicePath,
116
- yield this.getTempDir(),
117
- ]);
118
- }
119
- return hashFileLocalPath;
120
- });
86
+ async downloadHashFileFromDevice() {
87
+ const hashFileLocalPath = await this.getHashFileLocalPath();
88
+ if (!this.$fs.exists(hashFileLocalPath)) {
89
+ await this.adb.executeCommand([
90
+ "pull",
91
+ this.hashFileDevicePath,
92
+ await this.getTempDir(),
93
+ ]);
94
+ }
95
+ return hashFileLocalPath;
121
96
  }
122
97
  }
98
+ exports.AndroidDeviceHashService = AndroidDeviceHashService;
123
99
  AndroidDeviceHashService.HASH_FILE_NAME = "hashes";
124
100
  __decorate([
125
101
  (0, decorators_1.cache)()
@@ -130,4 +106,3 @@ __decorate([
130
106
  __decorate([
131
107
  (0, decorators_1.cache)()
132
108
  ], AndroidDeviceHashService.prototype, "getTempDir", null);
133
- exports.AndroidDeviceHashService = AndroidDeviceHashService;
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.AndroidDevice = void 0;
19
10
  const device_android_debug_bridge_1 = require("./device-android-debug-bridge");
@@ -33,46 +24,44 @@ class AndroidDevice {
33
24
  this.$logcatHelper = $logcatHelper;
34
25
  this.$injector = $injector;
35
26
  }
36
- init() {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- this.adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, {
39
- identifier: this.identifier,
40
- });
41
- this.applicationManager = this.$injector.resolve(applicationManagerPath.AndroidApplicationManager, { adb: this.adb, identifier: this.identifier });
42
- this.fileSystem = this.$injector.resolve(fileSystemPath.AndroidDeviceFileSystem, { adb: this.adb });
43
- let details = yield this.getDeviceDetails(["getprop"]);
44
- if (!details || !details.name) {
45
- details = yield this.getDeviceDetails(["cat", "/system/build.prop"]);
46
- }
47
- this.$logger.trace(details);
48
- const adbStatusInfo = AndroidDevice.ADB_DEVICE_STATUS_INFO[this.status];
49
- const type = yield this.getType();
50
- let version = details.release;
51
- if (version && version.toLowerCase() === "q") {
52
- version = "10.0.0";
53
- }
54
- this.deviceInfo = {
55
- identifier: this.identifier,
56
- displayName: details.name,
57
- model: details.model,
58
- version,
59
- vendor: details.brand,
60
- platform: this.$devicePlatformsConstants.Android,
61
- status: adbStatusInfo ? adbStatusInfo.deviceStatus : this.status,
62
- errorHelp: adbStatusInfo ? adbStatusInfo.errorHelp : "Unknown status",
63
- isTablet: this.getIsTablet(details),
64
- type,
65
- connectionTypes: [constants_1.DeviceConnectionType.Local],
66
- };
67
- this.deviceInfo.connectionTypes = this.isEmulator
68
- ? [constants_1.DeviceConnectionType.Local]
69
- : [constants_1.DeviceConnectionType.USB];
70
- if (this.isEmulator) {
71
- this.deviceInfo.displayName = yield this.$androidEmulatorServices.getRunningEmulatorName(this.identifier);
72
- this.deviceInfo.imageIdentifier = yield this.$androidEmulatorServices.getRunningEmulatorImageIdentifier(this.identifier);
73
- }
74
- this.$logger.trace(this.deviceInfo);
27
+ async init() {
28
+ this.adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, {
29
+ identifier: this.identifier,
75
30
  });
31
+ this.applicationManager = this.$injector.resolve(applicationManagerPath.AndroidApplicationManager, { adb: this.adb, identifier: this.identifier });
32
+ this.fileSystem = this.$injector.resolve(fileSystemPath.AndroidDeviceFileSystem, { adb: this.adb });
33
+ let details = await this.getDeviceDetails(["getprop"]);
34
+ if (!details || !details.name) {
35
+ details = await this.getDeviceDetails(["cat", "/system/build.prop"]);
36
+ }
37
+ this.$logger.trace(details);
38
+ const adbStatusInfo = AndroidDevice.ADB_DEVICE_STATUS_INFO[this.status];
39
+ const type = await this.getType();
40
+ let version = details.release;
41
+ if (version && version.toLowerCase() === "q") {
42
+ version = "10.0.0";
43
+ }
44
+ this.deviceInfo = {
45
+ identifier: this.identifier,
46
+ displayName: details.name,
47
+ model: details.model,
48
+ version,
49
+ vendor: details.brand,
50
+ platform: this.$devicePlatformsConstants.Android,
51
+ status: adbStatusInfo ? adbStatusInfo.deviceStatus : this.status,
52
+ errorHelp: adbStatusInfo ? adbStatusInfo.errorHelp : "Unknown status",
53
+ isTablet: this.getIsTablet(details),
54
+ type,
55
+ connectionTypes: [constants_1.DeviceConnectionType.Local],
56
+ };
57
+ this.deviceInfo.connectionTypes = this.isEmulator
58
+ ? [constants_1.DeviceConnectionType.Local]
59
+ : [constants_1.DeviceConnectionType.USB];
60
+ if (this.isEmulator) {
61
+ this.deviceInfo.displayName = await this.$androidEmulatorServices.getRunningEmulatorName(this.identifier);
62
+ this.deviceInfo.imageIdentifier = await this.$androidEmulatorServices.getRunningEmulatorImageIdentifier(this.identifier);
63
+ }
64
+ this.$logger.trace(this.deviceInfo);
76
65
  }
77
66
  get isEmulator() {
78
67
  return this.deviceInfo.type === constants.DeviceTypes.Emulator;
@@ -80,56 +69,51 @@ class AndroidDevice {
80
69
  get isOnlyWiFiConnected() {
81
70
  return false;
82
71
  }
83
- openDeviceLogStream() {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- if (this.deviceInfo.status === constants.CONNECTED_STATUS) {
86
- yield this.$logcatHelper.start({
87
- deviceIdentifier: this.identifier,
88
- keepSingleProcess: true,
89
- });
90
- }
91
- });
72
+ async openDeviceLogStream() {
73
+ if (this.deviceInfo.status === constants.CONNECTED_STATUS) {
74
+ await this.$logcatHelper.start({
75
+ deviceIdentifier: this.identifier,
76
+ keepSingleProcess: true,
77
+ });
78
+ }
92
79
  }
93
80
  detach() {
94
81
  if (this.isEmulator) {
95
82
  this.$androidEmulatorServices.detach(this.deviceInfo);
96
83
  }
97
84
  }
98
- getDeviceDetails(shellCommandArgs) {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- const parsedDetails = {};
101
- this.$logger.trace(`Trying to get information for Android device. Command is: ${shellCommandArgs}`);
102
- try {
103
- const details = yield this.adb.executeShellCommand(shellCommandArgs);
104
- details.split(/\r?\n|\r/).forEach((value) => {
105
- const match = /(?:\[?ro\.build\.version|ro\.product|ro\.build)\.(.+?)]?(?:\:|=)(?:\s*?\[)?(.*?)]?$/.exec(value);
106
- if (match) {
107
- parsedDetails[match[1]] = match[2];
108
- }
109
- });
110
- }
111
- catch (err) {
112
- this.$logger.trace(`Error while getting details from Android device. Command is: ${shellCommandArgs}. Error is: ${err}`);
113
- }
114
- this.$logger.trace(parsedDetails);
115
- return parsedDetails;
116
- });
85
+ async getDeviceDetails(shellCommandArgs) {
86
+ const parsedDetails = {};
87
+ this.$logger.trace(`Trying to get information for Android device. Command is: ${shellCommandArgs}`);
88
+ try {
89
+ const details = await this.adb.executeShellCommand(shellCommandArgs);
90
+ details.split(/\r?\n|\r/).forEach((value) => {
91
+ const match = /(?:\[?ro\.build\.version|ro\.product|ro\.build)\.(.+?)]?(?:\:|=)(?:\s*?\[)?(.*?)]?$/.exec(value);
92
+ if (match) {
93
+ parsedDetails[match[1]] = match[2];
94
+ }
95
+ });
96
+ }
97
+ catch (err) {
98
+ this.$logger.trace(`Error while getting details from Android device. Command is: ${shellCommandArgs}. Error is: ${err}`);
99
+ }
100
+ this.$logger.trace(parsedDetails);
101
+ return parsedDetails;
117
102
  }
118
103
  getIsTablet(details) {
119
104
  return (details &&
120
105
  (_.startsWith(details.release, "3.") ||
121
106
  _.includes((details.characteristics || "").toLowerCase(), "tablet")));
122
107
  }
123
- getType() {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- const runningEmulatorIds = yield this.$androidEmulatorServices.getRunningEmulatorIds();
126
- if (_.find(runningEmulatorIds, (emulatorId) => emulatorId === this.identifier)) {
127
- return constants.DeviceTypes.Emulator;
128
- }
129
- return constants.DeviceTypes.Device;
130
- });
108
+ async getType() {
109
+ const runningEmulatorIds = await this.$androidEmulatorServices.getRunningEmulatorIds();
110
+ if (_.find(runningEmulatorIds, (emulatorId) => emulatorId === this.identifier)) {
111
+ return constants.DeviceTypes.Emulator;
112
+ }
113
+ return constants.DeviceTypes.Device;
131
114
  }
132
115
  }
116
+ exports.AndroidDevice = AndroidDevice;
133
117
  AndroidDevice.ADB_DEVICE_STATUS_INFO = {
134
118
  device: {
135
119
  errorHelp: null,
@@ -155,4 +139,3 @@ AndroidDevice.ADB_DEVICE_STATUS_INFO = {
155
139
  __decorate([
156
140
  (0, decorators_1.cache)()
157
141
  ], AndroidDevice.prototype, "init", null);
158
- exports.AndroidDevice = AndroidDevice;