nativescript 8.9.0-dev.2 → 8.9.0-dev.4
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/config/test-deps-versions-generated.json +1 -1
- package/docs/man_pages/project/configuration/widget-ios.md +24 -0
- package/docs/man_pages/project/configuration/widget.md +24 -0
- package/docs/man_pages/start.md +1 -1
- package/lib/android-tools-info.js +11 -22
- package/lib/base-package-manager.js +53 -70
- package/lib/bun-package-manager.js +75 -98
- package/lib/color.js +4 -4
- package/lib/commands/add-platform.js +14 -30
- package/lib/commands/apple-login.js +18 -29
- package/lib/commands/appstore-list.js +34 -45
- package/lib/commands/appstore-upload.js +54 -67
- package/lib/commands/build.js +55 -87
- package/lib/commands/clean.js +169 -184
- package/lib/commands/command-base.js +14 -27
- package/lib/commands/config.js +49 -68
- package/lib/commands/create-project.js +215 -234
- package/lib/commands/debug.js +66 -88
- package/lib/commands/deploy.js +28 -44
- package/lib/commands/embedding/embed.js +37 -56
- package/lib/commands/extensibility/install-extension.js +5 -16
- package/lib/commands/extensibility/list-extensions.js +13 -24
- package/lib/commands/extensibility/uninstall-extension.js +4 -15
- package/lib/commands/fonts.js +30 -41
- package/lib/commands/generate-assets.js +13 -28
- package/lib/commands/generate-help.js +2 -13
- package/lib/commands/generate.js +49 -60
- package/lib/commands/info.js +2 -13
- package/lib/commands/install.js +34 -49
- package/lib/commands/list-platforms.js +14 -25
- package/lib/commands/migrate.js +15 -26
- package/lib/commands/native-add.js +23 -46
- package/lib/commands/platform-clean.js +19 -32
- package/lib/commands/plugin/add-plugin.js +12 -25
- package/lib/commands/plugin/build-plugin.js +31 -44
- package/lib/commands/plugin/create-plugin.js +114 -137
- package/lib/commands/plugin/list-plugins.js +22 -33
- package/lib/commands/plugin/remove-plugin.js +21 -34
- package/lib/commands/plugin/update-plugin.js +20 -33
- package/lib/commands/post-install.js +25 -38
- package/lib/commands/prepare.js +19 -35
- package/lib/commands/preview.js +50 -63
- package/lib/commands/remove-platform.js +7 -18
- package/lib/commands/resources/resources-update.js +14 -27
- package/lib/commands/run.js +55 -76
- package/lib/commands/start.js +6 -19
- package/lib/commands/test-init.js +126 -137
- package/lib/commands/test.js +72 -95
- package/lib/commands/typings.js +126 -142
- package/lib/commands/update-platform.js +26 -39
- package/lib/commands/update.js +31 -44
- package/lib/commands/widget.js +408 -357
- package/lib/common/child-process.js +53 -72
- package/lib/common/codeGeneration/code-entity.js +1 -1
- package/lib/common/codeGeneration/code-printer.js +1 -1
- package/lib/common/command-params.js +7 -18
- package/lib/common/commands/analytics.js +29 -42
- package/lib/common/commands/autocompletion.js +41 -58
- package/lib/common/commands/device/device-log-stream.js +12 -23
- package/lib/common/commands/device/get-file.js +23 -34
- package/lib/common/commands/device/list-applications.js +12 -23
- package/lib/common/commands/device/list-devices.js +72 -87
- package/lib/common/commands/device/list-files.js +24 -35
- package/lib/common/commands/device/put-file.js +23 -34
- package/lib/common/commands/device/run-application.js +12 -25
- package/lib/common/commands/device/stop-application.js +11 -22
- package/lib/common/commands/device/uninstall-application.js +6 -17
- package/lib/common/commands/generate-messages.js +17 -28
- package/lib/common/commands/help.js +20 -33
- package/lib/common/commands/package-manager-get.js +6 -17
- package/lib/common/commands/package-manager-set.js +9 -20
- package/lib/common/commands/post-install.js +2 -13
- package/lib/common/commands/preuninstall.js +27 -42
- package/lib/common/commands/proxy/proxy-base.js +11 -22
- package/lib/common/commands/proxy/proxy-clear.js +4 -15
- package/lib/common/commands/proxy/proxy-get.js +3 -14
- package/lib/common/commands/proxy/proxy-set.js +87 -100
- package/lib/common/constants.js +11 -11
- package/lib/common/decorators.js +10 -22
- package/lib/common/dispatchers.js +84 -101
- package/lib/common/errors.js +92 -107
- package/lib/common/file-system.js +110 -132
- package/lib/common/header.js +1 -2
- package/lib/common/helpers.js +149 -178
- package/lib/common/host-info.js +40 -53
- package/lib/common/http-client.js +104 -119
- package/lib/common/logger/appenders/cli-appender.js +1 -2
- package/lib/common/logger/appenders/emit-appender.js +1 -2
- package/lib/common/logger/layouts/cli-layout.js +1 -2
- package/lib/common/logger/logger.js +4 -4
- package/lib/common/mobile/android/android-application-manager.js +138 -159
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
- package/lib/common/mobile/android/android-debug-bridge.js +92 -117
- package/lib/common/mobile/android/android-device-file-system.js +101 -134
- package/lib/common/mobile/android/android-device-hash-service.js +52 -77
- package/lib/common/mobile/android/android-device.js +73 -90
- package/lib/common/mobile/android/android-emulator-services.js +105 -130
- package/lib/common/mobile/android/android-log-filter.js +1 -1
- package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
- package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
- package/lib/common/mobile/android/logcat-helper.js +114 -133
- package/lib/common/mobile/application-manager-base.js +89 -112
- package/lib/common/mobile/device-log-provider-base.js +7 -18
- package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
- package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
- package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
- package/lib/common/mobile/ios/device/ios-device.js +20 -36
- package/lib/common/mobile/ios/ios-device-base.js +58 -81
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
- package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
- package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
- package/lib/common/mobile/mobile-core/devices-service.js +400 -450
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
- package/lib/common/mobile/mobile-helper.js +15 -26
- package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
- package/lib/common/opener.js +2 -2
- package/lib/common/prompter.js +91 -106
- package/lib/common/queue.js +9 -20
- package/lib/common/services/auto-completion-service.js +40 -53
- package/lib/common/services/cancellation.js +17 -28
- package/lib/common/services/commands-service.js +156 -179
- package/lib/common/services/help-service.js +130 -155
- package/lib/common/services/hooks-service.js +99 -114
- package/lib/common/services/ios-notification-service.js +21 -34
- package/lib/common/services/json-file-settings-service.js +56 -75
- package/lib/common/services/lock-service.js +35 -52
- package/lib/common/services/message-contract-generator.js +35 -46
- package/lib/common/services/micro-templating-service.js +6 -17
- package/lib/common/services/net-service.js +92 -109
- package/lib/common/services/project-files-manager.js +10 -23
- package/lib/common/services/proxy-service.js +13 -24
- package/lib/common/services/qr.js +13 -24
- package/lib/common/services/settings-service.js +1 -1
- package/lib/common/services/xcode-select-service.js +20 -35
- package/lib/common/utils.js +2 -2
- package/lib/common/validators/project-name-validator.js +1 -1
- package/lib/common/validators/validation-result.js +1 -1
- package/lib/common/verify-node-version.js +2 -3
- package/lib/common/yok.js +25 -38
- package/lib/config.js +41 -56
- package/lib/constants.js +24 -24
- package/lib/controllers/build-controller.js +82 -99
- package/lib/controllers/debug-controller.js +111 -132
- package/lib/controllers/deploy-controller.js +15 -23
- package/lib/controllers/migrate-controller.js +780 -853
- package/lib/controllers/platform-controller.js +74 -89
- package/lib/controllers/prepare-controller.js +241 -270
- package/lib/controllers/run-controller.js +411 -425
- package/lib/controllers/update-controller-base.js +16 -29
- package/lib/controllers/update-controller.js +101 -126
- package/lib/data/prepare-data.js +4 -1
- package/lib/definitions/project.d.ts +24 -24
- package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
- package/lib/detached-processes/cleanup-process.js +16 -25
- package/lib/device-path-provider.js +23 -34
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
- package/lib/device-sockets/ios/notification.js +1 -1
- package/lib/device-sockets/ios/socket-request-executor.js +26 -41
- package/lib/helpers/android-bundle-validator-helper.js +1 -1
- package/lib/helpers/deploy-command-helper.js +44 -49
- package/lib/helpers/key-command-helper.js +4 -13
- package/lib/helpers/livesync-command-helper.js +138 -153
- package/lib/helpers/network-connectivity-validator.js +6 -17
- package/lib/helpers/options-track-helper.js +6 -17
- package/lib/helpers/platform-command-helper.js +103 -124
- package/lib/key-commands/index.js +150 -200
- package/lib/nativescript-cli.js +5 -14
- package/lib/node-package-manager.js +90 -113
- package/lib/options.js +4 -13
- package/lib/package-installation-manager.js +132 -167
- package/lib/package-manager.js +64 -87
- package/lib/platform-command-param.js +4 -15
- package/lib/pnpm-package-manager.js +60 -79
- package/lib/project-data.js +1 -1
- package/lib/providers/project-files-provider.js +1 -1
- package/lib/services/analytics/analytics-broker-process.js +13 -22
- package/lib/services/analytics/analytics-broker.js +17 -30
- package/lib/services/analytics/analytics-service.js +165 -201
- package/lib/services/analytics/google-analytics-provider.js +41 -56
- package/lib/services/analytics-settings-service.js +15 -32
- package/lib/services/android/android-bundle-tool-service.js +43 -60
- package/lib/services/android/gradle-build-args-service.js +10 -21
- package/lib/services/android/gradle-build-service.js +22 -35
- package/lib/services/android/gradle-command-service.js +22 -35
- package/lib/services/android-device-debug-service.js +92 -119
- package/lib/services/android-plugin-build-service.js +219 -245
- package/lib/services/android-project-service.js +134 -179
- package/lib/services/android-resources-migration-service.js +57 -70
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
- package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
- package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
- package/lib/services/assets-generation/assets-generation-service.js +114 -128
- package/lib/services/build-artifacts-service.js +9 -20
- package/lib/services/build-info-file-service.js +20 -35
- package/lib/services/cleanup-service.js +47 -76
- package/lib/services/cocoapods-service.js +124 -145
- package/lib/services/device/device-install-app-service.js +54 -71
- package/lib/services/doctor-service.js +106 -125
- package/lib/services/extensibility-service.js +87 -106
- package/lib/services/files-hash-service.js +26 -43
- package/lib/services/hmr-status-service.js +1 -1
- package/lib/services/initialize-service.js +38 -51
- package/lib/services/ios/export-options-plist-service.js +41 -54
- package/lib/services/ios/ios-signing-service.js +171 -190
- package/lib/services/ios/spm-service.js +52 -65
- package/lib/services/ios/xcodebuild-args-service.js +77 -94
- package/lib/services/ios/xcodebuild-command-service.js +14 -25
- package/lib/services/ios/xcodebuild-service.js +52 -71
- package/lib/services/ios-debugger-port-service.js +24 -37
- package/lib/services/ios-device-debug-service.js +75 -102
- package/lib/services/ios-entitlements-service.js +31 -42
- package/lib/services/ios-extensions-service.js +18 -29
- package/lib/services/ios-project-service.js +530 -591
- package/lib/services/ios-provision-service.js +110 -131
- package/lib/services/ios-watch-app-service.js +21 -32
- package/lib/services/ip-service.js +39 -54
- package/lib/services/itmstransporter-service.js +129 -152
- package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
- package/lib/services/livesync/android-device-livesync-service.js +121 -150
- package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
- package/lib/services/livesync/android-livesync-service.js +14 -35
- package/lib/services/livesync/android-livesync-tool.js +90 -113
- package/lib/services/livesync/device-livesync-service-base.js +16 -29
- package/lib/services/livesync/ios-device-livesync-service.js +120 -149
- package/lib/services/livesync/ios-livesync-service.js +43 -59
- package/lib/services/livesync/platform-livesync-service-base.js +98 -123
- package/lib/services/log-parser-service.js +1 -1
- package/lib/services/log-source-map-service.js +31 -42
- package/lib/services/marking-mode-service.js +17 -30
- package/lib/services/npm-config-service.js +1 -1
- package/lib/services/pacote-service.js +54 -69
- package/lib/services/performance-service.js +1 -1
- package/lib/services/platform/add-platform-service.js +57 -78
- package/lib/services/platform/platform-validation-service.js +22 -33
- package/lib/services/platform/prepare-native-platform-service.js +51 -64
- package/lib/services/platform-environment-requirements.js +27 -38
- package/lib/services/plugins-service.js +126 -151
- package/lib/services/project-backup-service.js +1 -1
- package/lib/services/project-changes-service.js +126 -143
- package/lib/services/project-cleanup-service.js +65 -78
- package/lib/services/project-config-service.js +78 -88
- package/lib/services/project-data-service.js +112 -129
- package/lib/services/project-name-service.js +28 -43
- package/lib/services/project-service.js +90 -109
- package/lib/services/project-templates-service.js +52 -67
- package/lib/services/start-service.js +41 -59
- package/lib/services/temp-service.js +8 -21
- package/lib/services/terminal-spinner-service.js +15 -26
- package/lib/services/test-execution-service.js +64 -77
- package/lib/services/test-initialization-service.js +2 -2
- package/lib/services/timeline-profiler-service.js +1 -1
- package/lib/services/versions-service.js +120 -139
- package/lib/services/webpack/webpack-compiler-service.js +228 -251
- package/lib/services/xcconfig-service.js +8 -19
- package/lib/sys-info.js +45 -62
- package/lib/tools/node-modules/node-modules-builder.js +16 -27
- package/lib/yarn-package-manager.js +59 -78
- package/lib/yarn2-package-manager.js +62 -81
- package/package.json +67 -82
- package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
- package/node_modules/@npmcli/move-file/README.md +0 -69
- package/node_modules/@npmcli/move-file/lib/index.js +0 -185
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
- package/node_modules/@npmcli/move-file/package.json +0 -47
- package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/balanced-match/README.md +0 -97
- package/node_modules/balanced-match/index.js +0 -62
- package/node_modules/balanced-match/package.json +0 -48
- package/node_modules/concat-map/.travis.yml +0 -4
- package/node_modules/concat-map/LICENSE +0 -18
- package/node_modules/concat-map/README.markdown +0 -62
- package/node_modules/concat-map/example/map.js +0 -6
- package/node_modules/concat-map/index.js +0 -13
- package/node_modules/concat-map/package.json +0 -43
- package/node_modules/concat-map/test/map.js +0 -39
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -26
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -29
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/path-is-absolute/index.js +0 -20
- package/node_modules/path-is-absolute/license +0 -21
- package/node_modules/path-is-absolute/package.json +0 -43
- package/node_modules/path-is-absolute/readme.md +0 -59
- package/node_modules/rimraf/LICENSE +0 -15
- package/node_modules/rimraf/README.md +0 -101
- package/node_modules/rimraf/bin.js +0 -68
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
- package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/glob/README.md +0 -378
- package/node_modules/rimraf/node_modules/glob/common.js +0 -238
- package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
- package/node_modules/rimraf/node_modules/glob/package.json +0 -55
- package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
- package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
- package/node_modules/rimraf/package.json +0 -32
- package/node_modules/rimraf/rimraf.js +0 -360
- package/node_modules/stringify-package/LICENSE +0 -13
- package/node_modules/stringify-package/README.md +0 -55
- package/node_modules/stringify-package/index.js +0 -18
- package/node_modules/stringify-package/package.json +0 -38
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- 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.AndroidEmulatorServices = void 0;
|
|
13
4
|
const constants_1 = require("../../constants");
|
|
@@ -27,111 +18,99 @@ class AndroidEmulatorServices {
|
|
|
27
18
|
this.$logger = $logger;
|
|
28
19
|
this.$utils = $utils;
|
|
29
20
|
}
|
|
30
|
-
getEmulatorImages() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
40
|
-
});
|
|
21
|
+
async getEmulatorImages() {
|
|
22
|
+
const adbDevicesOutput = await this.$adb.getDevicesSafe();
|
|
23
|
+
const avdAvailableEmulatorsOutput = await this.$androidVirtualDeviceService.getEmulatorImages(adbDevicesOutput);
|
|
24
|
+
const genyAvailableDevicesOutput = await this.$androidGenymotionService.getEmulatorImages(adbDevicesOutput);
|
|
25
|
+
const devices = _.concat(avdAvailableEmulatorsOutput.devices, genyAvailableDevicesOutput.devices).filter((item) => !!item);
|
|
26
|
+
return {
|
|
27
|
+
devices,
|
|
28
|
+
errors: avdAvailableEmulatorsOutput.errors.concat(genyAvailableDevicesOutput.errors),
|
|
29
|
+
};
|
|
41
30
|
}
|
|
42
|
-
getRunningEmulatorIds() {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return avds.concat(genies);
|
|
48
|
-
});
|
|
31
|
+
async getRunningEmulatorIds() {
|
|
32
|
+
const adbDevicesOutput = await this.$adb.getDevicesSafe();
|
|
33
|
+
const avds = await this.$androidVirtualDeviceService.getRunningEmulatorIds(adbDevicesOutput);
|
|
34
|
+
const genies = await this.$androidGenymotionService.getRunningEmulatorIds(adbDevicesOutput);
|
|
35
|
+
return avds.concat(genies);
|
|
49
36
|
}
|
|
50
|
-
getRunningEmulatorName(emulatorId) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return result;
|
|
57
|
-
});
|
|
37
|
+
async getRunningEmulatorName(emulatorId) {
|
|
38
|
+
let result = await this.$androidVirtualDeviceService.getRunningEmulatorName(emulatorId);
|
|
39
|
+
if (!result) {
|
|
40
|
+
result = await this.$androidGenymotionService.getRunningEmulatorName(emulatorId);
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
58
43
|
}
|
|
59
|
-
getRunningEmulatorImageIdentifier(emulatorId) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return result;
|
|
66
|
-
});
|
|
44
|
+
async getRunningEmulatorImageIdentifier(emulatorId) {
|
|
45
|
+
let result = await this.$androidVirtualDeviceService.getRunningEmulatorImageIdentifier(emulatorId);
|
|
46
|
+
if (!result) {
|
|
47
|
+
result = await this.$androidGenymotionService.getRunningEmulatorImageIdentifier(emulatorId);
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
67
50
|
}
|
|
68
|
-
startEmulator(options) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
};
|
|
78
|
-
});
|
|
51
|
+
async startEmulator(options) {
|
|
52
|
+
const output = await this.startEmulatorCore(options);
|
|
53
|
+
let bootToCompleteOutput = null;
|
|
54
|
+
if (output && output.runningEmulator) {
|
|
55
|
+
bootToCompleteOutput = await this.waitForEmulatorBootToComplete(output.runningEmulator, output.endTimeEpoch, options.timeout);
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
errors: ((output && output.errors) || []).concat((bootToCompleteOutput && bootToCompleteOutput.errors) || []),
|
|
59
|
+
};
|
|
79
60
|
}
|
|
80
61
|
detach(deviceInfo) {
|
|
81
62
|
this.$androidVirtualDeviceService.detach(deviceInfo);
|
|
82
63
|
}
|
|
83
|
-
startEmulatorCore(options) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if (newEmulator && this.$emulatorHelper.isEmulatorRunning(newEmulator)) {
|
|
118
|
-
return {
|
|
119
|
-
runningEmulator: newEmulator,
|
|
120
|
-
errors: [],
|
|
121
|
-
endTimeEpoch,
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
yield (0, helpers_1.sleep)(10000); // the emulator definitely takes its time to wake up
|
|
125
|
-
hasTimeLeft = (0, helpers_1.getCurrentEpochTime)() < endTimeEpoch;
|
|
126
|
-
}
|
|
127
|
-
if (!hasTimeLeft && !isInfiniteWait) {
|
|
64
|
+
async startEmulatorCore(options) {
|
|
65
|
+
const timeout = options.timeout || constants_1.AndroidVirtualDevice.TIMEOUT_SECONDS;
|
|
66
|
+
const endTimeEpoch = (0, helpers_1.getCurrentEpochTime)() + this.$utils.getMilliSecondsTimeout(timeout);
|
|
67
|
+
const availableEmulators = (await this.getEmulatorImages()).devices;
|
|
68
|
+
let emulator = this.$emulatorHelper.getEmulatorByStartEmulatorOptions(options, availableEmulators);
|
|
69
|
+
if (!emulator &&
|
|
70
|
+
!options.emulatorIdOrName &&
|
|
71
|
+
!options.imageIdentifier &&
|
|
72
|
+
!options.emulator) {
|
|
73
|
+
emulator = this.getBestFit(availableEmulators);
|
|
74
|
+
}
|
|
75
|
+
if (!emulator) {
|
|
76
|
+
return {
|
|
77
|
+
runningEmulator: null,
|
|
78
|
+
errors: [
|
|
79
|
+
`No emulator image available for device identifier '${options.emulatorIdOrName || options.imageIdentifier}'.`,
|
|
80
|
+
],
|
|
81
|
+
endTimeEpoch,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
if (emulator.errorHelp) {
|
|
85
|
+
return {
|
|
86
|
+
runningEmulator: null,
|
|
87
|
+
errors: [emulator.errorHelp],
|
|
88
|
+
endTimeEpoch,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
this.spawnEmulator(emulator);
|
|
92
|
+
const isInfiniteWait = this.$utils.getMilliSecondsTimeout(timeout) === 0;
|
|
93
|
+
let hasTimeLeft = (0, helpers_1.getCurrentEpochTime)() < endTimeEpoch;
|
|
94
|
+
while (hasTimeLeft || isInfiniteWait) {
|
|
95
|
+
const emulators = (await this.getEmulatorImages()).devices;
|
|
96
|
+
const newEmulator = _.find(emulators, (e) => e.imageIdentifier === emulator.imageIdentifier);
|
|
97
|
+
if (newEmulator && this.$emulatorHelper.isEmulatorRunning(newEmulator)) {
|
|
128
98
|
return {
|
|
129
|
-
runningEmulator:
|
|
130
|
-
errors: [
|
|
99
|
+
runningEmulator: newEmulator,
|
|
100
|
+
errors: [],
|
|
131
101
|
endTimeEpoch,
|
|
132
102
|
};
|
|
133
103
|
}
|
|
134
|
-
|
|
104
|
+
await (0, helpers_1.sleep)(10000); // the emulator definitely takes its time to wake up
|
|
105
|
+
hasTimeLeft = (0, helpers_1.getCurrentEpochTime)() < endTimeEpoch;
|
|
106
|
+
}
|
|
107
|
+
if (!hasTimeLeft && !isInfiniteWait) {
|
|
108
|
+
return {
|
|
109
|
+
runningEmulator: null,
|
|
110
|
+
errors: [constants_1.AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE],
|
|
111
|
+
endTimeEpoch,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
135
114
|
}
|
|
136
115
|
spawnEmulator(emulator) {
|
|
137
116
|
let pathToEmulatorExecutable = null;
|
|
@@ -169,36 +148,32 @@ class AndroidEmulatorServices {
|
|
|
169
148
|
const bestVersion = best && best.version && semver.coerce(best.version);
|
|
170
149
|
return bestVersion && semver.gte(bestVersion, minVersion) ? best : null;
|
|
171
150
|
}
|
|
172
|
-
waitForEmulatorBootToComplete(emulator, endTimeEpoch, timeout) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
[constants_2.LoggerConfigData.skipNewLine]: true,
|
|
176
|
-
});
|
|
177
|
-
const isInfiniteWait = this.$utils.getMilliSecondsTimeout(timeout || constants_1.AndroidVirtualDevice.TIMEOUT_SECONDS) === 0;
|
|
178
|
-
while ((0, helpers_1.getCurrentEpochTime)() < endTimeEpoch || isInfiniteWait) {
|
|
179
|
-
const isEmulatorBootCompleted = yield this.isEmulatorBootCompleted(emulator.identifier);
|
|
180
|
-
if (isEmulatorBootCompleted) {
|
|
181
|
-
this.$logger.info(os_1.EOL, { [constants_2.LoggerConfigData.skipNewLine]: true });
|
|
182
|
-
return {
|
|
183
|
-
runningEmulator: emulator,
|
|
184
|
-
errors: [],
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
this.$logger.info(".", { [constants_2.LoggerConfigData.skipNewLine]: true });
|
|
188
|
-
yield (0, helpers_1.sleep)(10000);
|
|
189
|
-
}
|
|
190
|
-
return {
|
|
191
|
-
runningEmulator: null,
|
|
192
|
-
errors: [constants_1.AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE],
|
|
193
|
-
};
|
|
151
|
+
async waitForEmulatorBootToComplete(emulator, endTimeEpoch, timeout) {
|
|
152
|
+
this.$logger.info("Waiting for emulator device initialization...", {
|
|
153
|
+
[constants_2.LoggerConfigData.skipNewLine]: true,
|
|
194
154
|
});
|
|
155
|
+
const isInfiniteWait = this.$utils.getMilliSecondsTimeout(timeout || constants_1.AndroidVirtualDevice.TIMEOUT_SECONDS) === 0;
|
|
156
|
+
while ((0, helpers_1.getCurrentEpochTime)() < endTimeEpoch || isInfiniteWait) {
|
|
157
|
+
const isEmulatorBootCompleted = await this.isEmulatorBootCompleted(emulator.identifier);
|
|
158
|
+
if (isEmulatorBootCompleted) {
|
|
159
|
+
this.$logger.info(os_1.EOL, { [constants_2.LoggerConfigData.skipNewLine]: true });
|
|
160
|
+
return {
|
|
161
|
+
runningEmulator: emulator,
|
|
162
|
+
errors: [],
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
this.$logger.info(".", { [constants_2.LoggerConfigData.skipNewLine]: true });
|
|
166
|
+
await (0, helpers_1.sleep)(10000);
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
runningEmulator: null,
|
|
170
|
+
errors: [constants_1.AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE],
|
|
171
|
+
};
|
|
195
172
|
}
|
|
196
|
-
isEmulatorBootCompleted(emulatorId) {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
return matches && matches.length > 0;
|
|
201
|
-
});
|
|
173
|
+
async isEmulatorBootCompleted(emulatorId) {
|
|
174
|
+
const output = await this.$adb.getPropertyValue(emulatorId, "dev.bootcomplete");
|
|
175
|
+
const matches = output.match("1");
|
|
176
|
+
return matches && matches.length > 0;
|
|
202
177
|
}
|
|
203
178
|
}
|
|
204
179
|
exports.AndroidEmulatorServices = AndroidEmulatorServices;
|
|
@@ -36,11 +36,11 @@ class AndroidLogFilter {
|
|
|
36
36
|
return consoleLogMessage;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
+
exports.AndroidLogFilter = AndroidLogFilter;
|
|
39
40
|
//sample line is "I/Web Console( 4438): Received Event: deviceready at file:///storage/emulated/0/Icenium/com.telerik.TestApp/js/index.js:48"
|
|
40
41
|
AndroidLogFilter.LINE_REGEX = /.\/(.+?)\s*\(\s*\d+?\): (.*)/;
|
|
41
42
|
// sample line is "11-23 12:39:07.310 1584 1597 I art : Background sticky concurrent mark sweep GC freed 21966(1780KB) AllocSpace objects, 4(80KB) LOS objects, 77% free, 840KB/3MB, paused 4.018ms total 158.629ms"
|
|
42
43
|
// or '12-28 10:45:08.020 3329 3329 W chromium: [WARNING:data_reduction_proxy_settings.cc(328)] SPDY proxy OFF at startup'
|
|
43
44
|
AndroidLogFilter.API_LEVEL_23_LINE_REGEX = /.+?\s+?(?:[A-Z]\s+?)([A-Za-z \.]+?)\s*?\: (.*)/;
|
|
44
|
-
exports.AndroidLogFilter = AndroidLogFilter;
|
|
45
45
|
yok_1.injector.register("androidLogFilter", AndroidLogFilter);
|
|
46
46
|
//# sourceMappingURL=android-log-filter.js.map
|
|
@@ -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.AndroidVirtualDeviceService = void 0;
|
|
19
10
|
const net = require("net");
|
|
@@ -39,44 +30,38 @@ class AndroidVirtualDeviceService {
|
|
|
39
30
|
this.mapEmulatorIdToImageIdentifier = {};
|
|
40
31
|
this.androidHome = process.env.ANDROID_HOME;
|
|
41
32
|
}
|
|
42
|
-
getEmulatorImages(adbDevicesOutput) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
};
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
getRunningEmulatorIds(adbDevicesOutput) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
const emulatorIds = _.reduce(adbDevicesOutput, (result, device) => {
|
|
58
|
-
const rx = device.match(constants_1.AndroidVirtualDevice.RUNNING_AVD_EMULATOR_REGEX);
|
|
59
|
-
if (rx && rx[1]) {
|
|
60
|
-
result.push(rx[1]);
|
|
61
|
-
}
|
|
62
|
-
return result;
|
|
63
|
-
}, []);
|
|
64
|
-
return emulatorIds;
|
|
65
|
-
});
|
|
33
|
+
async getEmulatorImages(adbDevicesOutput) {
|
|
34
|
+
const availableEmulatorsOutput = await this.getEmulatorImagesCore();
|
|
35
|
+
const avds = availableEmulatorsOutput.devices;
|
|
36
|
+
const runningEmulatorIds = await this.getRunningEmulatorIds(adbDevicesOutput);
|
|
37
|
+
const runningEmulators = await (0, helpers_1.settlePromises)(_.map(runningEmulatorIds, (emulatorId) => this.getRunningEmulatorData(emulatorId, avds)));
|
|
38
|
+
const devices = availableEmulatorsOutput.devices.map((emulator) => this.$emulatorHelper.getEmulatorByImageIdentifier(emulator.imageIdentifier, runningEmulators) || emulator);
|
|
39
|
+
return {
|
|
40
|
+
devices,
|
|
41
|
+
errors: availableEmulatorsOutput.errors,
|
|
42
|
+
};
|
|
66
43
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
let result = imageIdentifier;
|
|
73
|
-
if (iniFileInfo && iniFileInfo.path) {
|
|
74
|
-
const configIniFileInfo = this.$androidIniFileParser.parseIniFile(path.join(iniFileInfo.path, constants_1.AndroidVirtualDevice.CONFIG_INI_FILE_NAME));
|
|
75
|
-
result =
|
|
76
|
-
(configIniFileInfo && configIniFileInfo.displayName) || imageIdentifier;
|
|
44
|
+
async getRunningEmulatorIds(adbDevicesOutput) {
|
|
45
|
+
const emulatorIds = _.reduce(adbDevicesOutput, (result, device) => {
|
|
46
|
+
const rx = device.match(constants_1.AndroidVirtualDevice.RUNNING_AVD_EMULATOR_REGEX);
|
|
47
|
+
if (rx && rx[1]) {
|
|
48
|
+
result.push(rx[1]);
|
|
77
49
|
}
|
|
78
50
|
return result;
|
|
79
|
-
});
|
|
51
|
+
}, []);
|
|
52
|
+
return emulatorIds;
|
|
53
|
+
}
|
|
54
|
+
async getRunningEmulatorName(emulatorId) {
|
|
55
|
+
const imageIdentifier = await this.getRunningEmulatorImageIdentifier(emulatorId);
|
|
56
|
+
const iniFilePath = path.join(this.pathToAvdHomeDir, `${imageIdentifier}.ini`);
|
|
57
|
+
const iniFileInfo = this.$androidIniFileParser.parseIniFile(iniFilePath);
|
|
58
|
+
let result = imageIdentifier;
|
|
59
|
+
if (iniFileInfo && iniFileInfo.path) {
|
|
60
|
+
const configIniFileInfo = this.$androidIniFileParser.parseIniFile(path.join(iniFileInfo.path, constants_1.AndroidVirtualDevice.CONFIG_INI_FILE_NAME));
|
|
61
|
+
result =
|
|
62
|
+
(configIniFileInfo && configIniFileInfo.displayName) || imageIdentifier;
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
80
65
|
}
|
|
81
66
|
startEmulatorArgs(imageIdentifier) {
|
|
82
67
|
return ["-avd", imageIdentifier];
|
|
@@ -154,64 +139,58 @@ class AndroidVirtualDeviceService {
|
|
|
154
139
|
delete this.mapEmulatorIdToImageIdentifier[deviceInfo.identifier];
|
|
155
140
|
}
|
|
156
141
|
}
|
|
157
|
-
getEmulatorImagesCore() {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
142
|
+
async getEmulatorImagesCore() {
|
|
143
|
+
let result = null;
|
|
144
|
+
let devices = [];
|
|
145
|
+
let errors = [];
|
|
146
|
+
const canExecuteAvdManagerCommand = await this.canExecuteAvdManagerCommand();
|
|
147
|
+
if (!canExecuteAvdManagerCommand) {
|
|
148
|
+
errors = [
|
|
149
|
+
"Unable to execute avdmanager, ensure JAVA_HOME is set and points to correct directory",
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
if (canExecuteAvdManagerCommand) {
|
|
153
|
+
const sanitizedPathToAvdManagerExecutable = this.$hostInfo.isWindows
|
|
154
|
+
? (0, helpers_1.quoteString)(this.pathToAvdManagerExecutable)
|
|
155
|
+
: this.pathToAvdManagerExecutable;
|
|
156
|
+
result = await this.$childProcess.trySpawnFromCloseEvent(sanitizedPathToAvdManagerExecutable, ["list", "avds"], { shell: this.$hostInfo.isWindows });
|
|
157
|
+
}
|
|
158
|
+
else if (this.pathToAndroidExecutable &&
|
|
159
|
+
this.$fs.exists(this.pathToAndroidExecutable)) {
|
|
160
|
+
result = await this.$childProcess.trySpawnFromCloseEvent(this.pathToAndroidExecutable, ["list", "avd"]);
|
|
161
|
+
}
|
|
162
|
+
if (result && result.stdout) {
|
|
163
|
+
devices = this.parseListAvdsOutput(result.stdout);
|
|
164
|
+
errors = result && result.stderr ? [result.stderr] : [];
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
devices = this.listAvdsFromDirectory();
|
|
168
|
+
}
|
|
169
|
+
return { devices, errors };
|
|
170
|
+
}
|
|
171
|
+
async canExecuteAvdManagerCommand() {
|
|
172
|
+
let canExecute = false;
|
|
173
|
+
if (this.pathToAvdManagerExecutable &&
|
|
174
|
+
this.$fs.exists(this.pathToAvdManagerExecutable)) {
|
|
175
|
+
if (process.env.JAVA_HOME) {
|
|
176
|
+
// In case JAVA_HOME is set, but it points to incorrect directory (i.e. there's no java in $JAVA_HOME/bin/java), avdmanager will fail
|
|
177
|
+
// no matter if you have correct java in PATH.
|
|
178
|
+
canExecute = !!(await this.$sysInfo.getJavaVersionFromJavaHome());
|
|
181
179
|
}
|
|
182
180
|
else {
|
|
183
|
-
|
|
184
|
-
}
|
|
185
|
-
return { devices, errors };
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
canExecuteAvdManagerCommand() {
|
|
189
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
190
|
-
let canExecute = false;
|
|
191
|
-
if (this.pathToAvdManagerExecutable &&
|
|
192
|
-
this.$fs.exists(this.pathToAvdManagerExecutable)) {
|
|
193
|
-
if (process.env.JAVA_HOME) {
|
|
194
|
-
// In case JAVA_HOME is set, but it points to incorrect directory (i.e. there's no java in $JAVA_HOME/bin/java), avdmanager will fail
|
|
195
|
-
// no matter if you have correct java in PATH.
|
|
196
|
-
canExecute = !!(yield this.$sysInfo.getJavaVersionFromJavaHome());
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
canExecute = !!(yield this.$sysInfo.getJavaVersionFromPath());
|
|
200
|
-
}
|
|
181
|
+
canExecute = !!(await this.$sysInfo.getJavaVersionFromPath());
|
|
201
182
|
}
|
|
202
|
-
|
|
203
|
-
|
|
183
|
+
}
|
|
184
|
+
return canExecute;
|
|
204
185
|
}
|
|
205
|
-
getRunningEmulatorData(runningEmulatorId, availableEmulators) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
return runningEmulator;
|
|
214
|
-
});
|
|
186
|
+
async getRunningEmulatorData(runningEmulatorId, availableEmulators) {
|
|
187
|
+
const imageIdentifier = await this.getRunningEmulatorImageIdentifier(runningEmulatorId);
|
|
188
|
+
const runningEmulator = this.$emulatorHelper.getEmulatorByImageIdentifier(imageIdentifier, availableEmulators);
|
|
189
|
+
if (!runningEmulator) {
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
this.$emulatorHelper.setRunningAndroidEmulatorProperties(runningEmulatorId, runningEmulator);
|
|
193
|
+
return runningEmulator;
|
|
215
194
|
}
|
|
216
195
|
get pathToAvdManagerExecutable() {
|
|
217
196
|
let avdManagerPath = null;
|
|
@@ -366,6 +345,7 @@ class AndroidVirtualDeviceService {
|
|
|
366
345
|
}
|
|
367
346
|
}
|
|
368
347
|
}
|
|
348
|
+
exports.AndroidVirtualDeviceService = AndroidVirtualDeviceService;
|
|
369
349
|
__decorate([
|
|
370
350
|
(0, decorators_1.cache)()
|
|
371
351
|
], AndroidVirtualDeviceService.prototype, "pathToEmulatorExecutable", null);
|
|
@@ -384,6 +364,5 @@ __decorate([
|
|
|
384
364
|
__decorate([
|
|
385
365
|
(0, decorators_1.cache)()
|
|
386
366
|
], AndroidVirtualDeviceService.prototype, "getConfigurationError", null);
|
|
387
|
-
exports.AndroidVirtualDeviceService = AndroidVirtualDeviceService;
|
|
388
367
|
yok_1.injector.register("androidVirtualDeviceService", AndroidVirtualDeviceService);
|
|
389
368
|
//# sourceMappingURL=android-virtual-device-service.js.map
|
|
@@ -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.DeviceAndroidDebugBridge = void 0;
|
|
13
4
|
const android_debug_bridge_1 = require("./android-debug-bridge");
|
|
@@ -22,27 +13,20 @@ class DeviceAndroidDebugBridge extends android_debug_bridge_1.AndroidDebugBridge
|
|
|
22
13
|
this.$staticConfig = $staticConfig;
|
|
23
14
|
this.$androidDebugBridgeResultHandler = $androidDebugBridgeResultHandler;
|
|
24
15
|
}
|
|
25
|
-
sendBroadcastToDevice(action, extras) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.$errors.fail("Unable to broadcast to android device:\n%s", result);
|
|
37
|
-
});
|
|
16
|
+
async sendBroadcastToDevice(action, extras) {
|
|
17
|
+
extras = extras || {};
|
|
18
|
+
const broadcastCommand = ["am", "broadcast", "-a", `${action}`];
|
|
19
|
+
_.each(extras, (value, key) => broadcastCommand.push("-e", key, value));
|
|
20
|
+
const result = await this.executeShellCommand(broadcastCommand);
|
|
21
|
+
this.$logger.trace(`Broadcast result ${result} from ${broadcastCommand}`);
|
|
22
|
+
const match = result.match(/Broadcast completed: result=(\d+)/);
|
|
23
|
+
if (match) {
|
|
24
|
+
return +match[1];
|
|
25
|
+
}
|
|
26
|
+
this.$errors.fail("Unable to broadcast to android device:\n%s", result);
|
|
38
27
|
}
|
|
39
|
-
composeCommand(params) {
|
|
40
|
-
|
|
41
|
-
composeCommand: { get: () => super.composeCommand }
|
|
42
|
-
});
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
return _super.composeCommand.call(this, params, this.identifier);
|
|
45
|
-
});
|
|
28
|
+
async composeCommand(params) {
|
|
29
|
+
return super.composeCommand(params, this.identifier);
|
|
46
30
|
}
|
|
47
31
|
}
|
|
48
32
|
exports.DeviceAndroidDebugBridge = DeviceAndroidDebugBridge;
|