Skip to content

Commit cc440dd

Browse files
committed
fix: fix PR comments
- remove enableDebugging options as its misleading, we will always create the `debugger-started` file as the runtime will update it only if the app is debuggable - make the `waitForDebugger` argument of the `startApplication` method optional in order to simplify its usage - remove the pid from `startApplication` as we are not using it
1 parent 3751da0 commit cc440dd

18 files changed

+46
-67
lines changed

lib/common/appbuilder/services/livesync/ios-livesync-service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export class IOSLiveSyncService implements IDeviceLiveSyncService {
5151
this.$logger.trace(`Transferring from ${sourcePath} to ${destinationPath}`);
5252
shell.cp("-Rf", path.join(sourcePath, "*"), destinationPath);
5353

54-
await this.device.applicationManager.restartApplication({ appId: deviceAppData.appIdentifier, projectName: "", waitForDebugger: false, enableDebugging: false });
54+
await this.device.applicationManager.restartApplication({ appId: deviceAppData.appIdentifier, projectName: "" });
5555
} else {
5656
await this.device.fileSystem.deleteFile("/Documents/AppBuilder/ServerInfo.plist", deviceAppData.appIdentifier);
5757
const notification = this.$project.projectData.Framework === constants.TARGET_FRAMEWORK_IDENTIFIERS.NativeScript ? "com.telerik.app.refreshApp" : "com.telerik.app.refreshWebView";

lib/common/commands/device/run-application.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export class RunApplicationOnDeviceCommand implements ICommand {
1515
this.$errors.failWithoutHelp("More than one device found. Specify device explicitly with --device option. To discover device ID, use $%s device command.", this.$staticConfig.CLIENT_NAME.toLowerCase());
1616
}
1717

18-
await this.$devicesService.execute(async (device: Mobile.IDevice) => await device.applicationManager.startApplication({ appId: args[0], projectName: args[1], waitForDebugger: false, enableDebugging: false }));
18+
await this.$devicesService.execute(async (device: Mobile.IDevice) => await device.applicationManager.startApplication({ appId: args[0], projectName: args[1] }));
1919
}
2020
}
2121

lib/common/definitions/mobile.d.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -298,8 +298,7 @@ declare module Mobile {
298298
}
299299

300300
interface IStartApplicationData extends IApplicationData {
301-
waitForDebugger: boolean;
302-
enableDebugging: boolean;
301+
waitForDebugger?: boolean;
303302
}
304303

305304
interface IInstallAppData extends IApplicationData {
@@ -316,9 +315,9 @@ declare module Mobile {
316315
installApplication(packageFilePath: string, appIdentifier?: string): Promise<void>;
317316
uninstallApplication(appIdentifier: string): Promise<void>;
318317
reinstallApplication(appIdentifier: string, packageFilePath: string): Promise<void>;
319-
startApplication(appData: IStartApplicationData): Promise<IRunningAppInfo>;
318+
startApplication(appData: IStartApplicationData): Promise<void>;
320319
stopApplication(appData: IApplicationData): Promise<void>;
321-
restartApplication(appData: IStartApplicationData): Promise<IRunningAppInfo>;
320+
restartApplication(appData: IStartApplicationData): Promise<void>;
322321
checkForApplicationUpdates(): Promise<void>;
323322
isLiveSyncSupported(appIdentifier: string): Promise<boolean>;
324323
getApplicationInfo(applicationIdentifier: string): Promise<Mobile.IApplicationInfo>;

lib/common/mobile/android/android-application-manager.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ export class AndroidApplicationManager extends ApplicationManagerBase {
4747
return this.adb.executeShellCommand(["pm", "uninstall", `${appIdentifier}`], { treatErrorsAsWarnings: true });
4848
}
4949

50-
public async startApplication(appData: Mobile.IStartApplicationData): Promise<Mobile.IRunningAppInfo> {
50+
public async startApplication(appData: Mobile.IStartApplicationData): Promise<void> {
5151
if (appData.waitForDebugger) {
5252
await this.adb.executeShellCommand([`cat /dev/null > ${LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugbreak`]);
5353
}
5454

55-
if (appData.enableDebugging) {
56-
await this.adb.executeShellCommand([`cat /dev/null > ${LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugger-started`]);
57-
}
55+
// If the app is debuggable, the Runtime will update the file when its ready for debugging
56+
// and we will be able to take decisions and synchronize the debug experience based on the content
57+
await this.adb.executeShellCommand([`cat /dev/null > ${LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugger-started`]);
5858

5959
/*
6060
Example "pm dump <app_identifier> | grep -A 1 MAIN" output"
@@ -82,9 +82,9 @@ export class AndroidApplicationManager extends ApplicationManagerBase {
8282
await this.adb.executeShellCommand(["monkey", "-p", appIdentifier, "-c", "android.intent.category.LAUNCHER", "1"]);
8383
}
8484

85-
const deviceIdentifier = this.identifier;
86-
const processIdentifier = await this.getAppProcessId(deviceIdentifier, appIdentifier);
8785
if (!this.$options.justlaunch && !appData.justLaunch) {
86+
const deviceIdentifier = this.identifier;
87+
const processIdentifier = await this.getAppProcessId(deviceIdentifier, appIdentifier);
8888
if (processIdentifier) {
8989
this.$deviceLogProvider.setApplicationPidForDevice(deviceIdentifier, processIdentifier);
9090
await this.$logcatHelper.start({
@@ -96,10 +96,6 @@ export class AndroidApplicationManager extends ApplicationManagerBase {
9696
this.$errors.failWithoutHelp(`Unable to find running "${appIdentifier}" application on device "${deviceIdentifier}".`);
9797
}
9898
}
99-
100-
return {
101-
pid: processIdentifier
102-
};
10399
}
104100

105101
private async getAppProcessId(deviceIdentifier: string, appIdentifier: string) {

lib/common/mobile/application-manager-base.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ export abstract class ApplicationManagerBase extends EventEmitter implements Mob
2121
await this.installApplication(packageFilePath, appIdentifier);
2222
}
2323

24-
public async restartApplication(appData: Mobile.IApplicationData): Promise<Mobile.IRunningAppInfo> {
24+
public async restartApplication(appData: Mobile.IApplicationData): Promise<void> {
2525
await this.stopApplication(appData);
26-
const appInfo = await this.startApplication(appData);
27-
return appInfo;
26+
await this.startApplication(appData);
2827
}
2928

3029
public async isApplicationInstalled(appIdentifier: string): Promise<boolean> {
@@ -81,7 +80,7 @@ export abstract class ApplicationManagerBase extends EventEmitter implements Mob
8180

8281
public abstract async installApplication(packageFilePath: string, appIdentifier?: string): Promise<void>;
8382
public abstract async uninstallApplication(appIdentifier: string): Promise<void>;
84-
public abstract async startApplication(appData: Mobile.IApplicationData): Promise<Mobile.IRunningAppInfo>;
83+
public abstract async startApplication(appData: Mobile.IApplicationData): Promise<void>;
8584
public abstract async stopApplication(appData: Mobile.IApplicationData): Promise<void>;
8685
public abstract async getInstalledApplications(): Promise<string[]>;
8786
public abstract async getApplicationInfo(applicationIdentifier: string): Promise<Mobile.IApplicationInfo>;

lib/common/mobile/ios/device/ios-application-manager.ts

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,15 @@ export class IOSApplicationManager extends ApplicationManagerBase {
7474
this.$logger.trace("Application %s has been uninstalled successfully.", appIdentifier);
7575
}
7676

77-
public async startApplication(appData: Mobile.IStartApplicationData): Promise<Mobile.IRunningAppInfo> {
77+
public async startApplication(appData: Mobile.IStartApplicationData): Promise<void> {
7878
if (!await this.isApplicationInstalled(appData.appId)) {
7979
this.$errors.failWithoutHelp("Invalid application id: %s. All available application ids are: %s%s ", appData.appId, EOL, this.applicationsLiveSyncInfos.join(EOL));
8080
}
8181

8282
await this.setDeviceLogData(appData);
83-
const appInfo = await this.runApplicationCore(appData);
83+
await this.runApplicationCore(appData);
8484

8585
this.$logger.info(`Successfully run application ${appData.appId} on device with ID ${this.device.deviceInfo.identifier}.`);
86-
87-
return appInfo;
8886
}
8987

9088
public async stopApplication(appData: Mobile.IApplicationData): Promise<void> {
@@ -102,12 +100,11 @@ export class IOSApplicationManager extends ApplicationManagerBase {
102100
}
103101
}
104102

105-
public async restartApplication(appData: Mobile.IStartApplicationData): Promise<Mobile.IRunningAppInfo> {
103+
public async restartApplication(appData: Mobile.IStartApplicationData): Promise<void> {
106104
try {
107105
await this.setDeviceLogData(appData);
108106
await this.stopApplication(appData);
109-
const appInfo = await this.runApplicationCore(appData);
110-
return appInfo;
107+
await this.runApplicationCore(appData);
111108
} catch (err) {
112109
await this.$iOSNotificationService.postNotification(this.device.deviceInfo.identifier, `${appData.appId}:NativeScript.LiveSync.RestartApplication`);
113110
throw err;
@@ -121,14 +118,9 @@ export class IOSApplicationManager extends ApplicationManagerBase {
121118
}
122119
}
123120

124-
private async runApplicationCore(appData: Mobile.IStartApplicationData): Promise<Mobile.IRunningAppInfo> {
121+
private async runApplicationCore(appData: Mobile.IStartApplicationData): Promise<void> {
125122
const waitForDebugger = appData.waitForDebugger && appData.waitForDebugger.toString();
126123
await this.$iosDeviceOperations.start([{ deviceId: this.device.deviceInfo.identifier, appId: appData.appId, ddi: this.$options.ddi, waitForDebugger }]);
127-
128-
return {
129-
// we cannot get PID on a real iOS device
130-
pid: ""
131-
};
132124
}
133125

134126
@cache()

lib/common/mobile/ios/simulator/ios-simulator-application-manager.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class IOSSimulatorApplicationManager extends ApplicationManagerBase {
5454
return this.iosSim.uninstallApplication(this.device.deviceInfo.identifier, appIdentifier);
5555
}
5656

57-
public async startApplication(appData: Mobile.IStartApplicationData): Promise<Mobile.IRunningAppInfo> {
57+
public async startApplication(appData: Mobile.IStartApplicationData): Promise<void> {
5858
const options = appData.waitForDebugger ? {
5959
waitForDebugger: true,
6060
args: "--nativescript-debug-brk",
@@ -65,10 +65,6 @@ export class IOSSimulatorApplicationManager extends ApplicationManagerBase {
6565
if (appData.waitForDebugger) {
6666
this.attachNativeDebugger(appData.appId, pid);
6767
}
68-
69-
return {
70-
pid
71-
};
7268
}
7369

7470
public async stopApplication(appData: Mobile.IApplicationData): Promise<void> {

lib/common/services/livesync-service-base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ class LiveSyncServiceBase implements ILiveSyncServiceBase {
184184
}
185185

186186
if (!shouldRefreshApplication) {
187-
await device.applicationManager.startApplication({ appId: appIdentifier, projectName: "", waitForDebugger: false, enableDebugging: false });
187+
await device.applicationManager.startApplication({ appId: appIdentifier, projectName: "" });
188188
}
189189
wasInstalled = false;
190190
}

lib/common/test/unit-tests/android-application-manager.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { CommonLoggerStub, LogcatHelperStub, AndroidProcessServiceStub, DeviceLo
55
const invalidIdentifier = "invalid.identifier";
66
const validDeviceIdentifier = "device.identifier";
77
const validIdentifier = "org.nativescript.testApp";
8-
const validStartOptions = { appId: validIdentifier, projectName: "", waitForDebugger: false, enableDebugging: false };
8+
const validStartOptions = { appId: validIdentifier, projectName: "" };
99

1010
class AndroidDebugBridgeStub {
1111
public calledStopApplication = false;
@@ -44,7 +44,9 @@ class AndroidDebugBridgeStub {
4444

4545
public async executeShellCommand(args: string[]): Promise<any> {
4646
if (args && args.length > 0) {
47-
if (args[0] === "pm") {
47+
if (args[0].startsWith("cat")) {
48+
return;
49+
} else if (args[0] === "pm") {
4850
const passedIdentifier = args[2];
4951
if (passedIdentifier === invalidIdentifier) {
5052
return "invalid output string";
@@ -153,7 +155,7 @@ describe("android-application-manager", () => {
153155
it("is calling monkey to start the application when invalid identifier is passed", async () => {
154156
setup();
155157

156-
await androidApplicationManager.startApplication({ appId: invalidIdentifier, projectName: "", waitForDebugger: false, enableDebugging: false });
158+
await androidApplicationManager.startApplication({ appId: invalidIdentifier, projectName: "" });
157159

158160
assert.isFalse(androidDebugBridge.startedWithActivityManager);
159161
});

lib/common/test/unit-tests/mobile/application-manager-base.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { assert } from "chai";
33
import { CommonLoggerStub, HooksServiceStub } from "../stubs";
44
import { ApplicationManagerBase } from "../../../mobile/application-manager-base";
55

6-
const testPid = "123";
76
let currentlyAvailableAppsForDebugging: Mobile.IDeviceApplicationInformation[];
87
let currentlyInstalledApps: string[];
98
let currentlyAvailableAppWebViewsForDebugging: IDictionary<Mobile.IDebugWebViewInfo[]>;
@@ -25,7 +24,7 @@ class ApplicationManager extends ApplicationManagerBase {
2524
return;
2625
}
2726

28-
public async startApplication(appData: Mobile.IApplicationData): Promise<Mobile.IRunningAppInfo> {
27+
public async startApplication(appData: Mobile.IApplicationData): Promise<void> {
2928
return;
3029
}
3130

@@ -630,7 +629,7 @@ describe("ApplicationManagerBase", () => {
630629
let passedApplicationData: Mobile.IApplicationData = null;
631630
applicationManager.startApplication = (appData: Mobile.IApplicationData) => {
632631
passedApplicationData = appData;
633-
return Promise.resolve({ pid: testPid });
632+
return Promise.resolve();
634633
};
635634

636635
await applicationManager.restartApplication(applicationData);
@@ -649,7 +648,7 @@ describe("ApplicationManagerBase", () => {
649648
applicationManager.startApplication = (appData: Mobile.IApplicationData) => {
650649
assert.isTrue(isStopApplicationCalled, "When startApplication is called, stopApplication must have been resolved.");
651650
isStartApplicationCalled = true;
652-
return Promise.resolve({ pid: testPid });
651+
return Promise.resolve();
653652
};
654653

655654
await applicationManager.restartApplication(applicationData);
@@ -664,7 +663,7 @@ describe("ApplicationManagerBase", () => {
664663

665664
applicationManager.startApplication = (appData: Mobile.IApplicationData) => {
666665
passedApplicationData = appData;
667-
return Promise.resolve({ pid: testPid });
666+
return Promise.resolve();
668667
};
669668

670669
await applicationManager.tryStartApplication(applicationData);
@@ -694,7 +693,7 @@ describe("ApplicationManagerBase", () => {
694693
}
695694

696695
isStartApplicationCalled = true;
697-
return Promise.resolve({ pid: testPid });
696+
return Promise.resolve();
698697
};
699698

700699
await applicationManager.tryStartApplication(applicationData);

lib/common/test/unit-tests/mobile/devices-service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ describe("devicesService", () => {
253253
},
254254
applicationManager: {
255255
getInstalledApplications: () => Promise.resolve(["com.telerik.unitTest1", "com.telerik.unitTest2"]),
256-
startApplication: (appData: Mobile.IApplicationData) => Promise.resolve({ pid: "123" }),
256+
startApplication: (appData: Mobile.IApplicationData) => Promise.resolve(),
257257
tryStartApplication: (appData: Mobile.IApplicationData) => Promise.resolve(),
258258
reinstallApplication: (packageName: string, packageFile: string) => Promise.resolve(),
259259
isApplicationInstalled: (packageName: string) => Promise.resolve(_.includes(["com.telerik.unitTest1", "com.telerik.unitTest2"], packageName)),
@@ -272,7 +272,7 @@ describe("devicesService", () => {
272272
},
273273
applicationManager: {
274274
getInstalledApplications: () => Promise.resolve(["com.telerik.unitTest1", "com.telerik.unitTest2", "com.telerik.unitTest3"]),
275-
startApplication: (appData: Mobile.IApplicationData) => Promise.resolve({ pid: "123" }),
275+
startApplication: (appData: Mobile.IApplicationData) => Promise.resolve(),
276276
tryStartApplication: (appData: Mobile.IApplicationData) => Promise.resolve(),
277277
reinstallApplication: (packageName: string, packageFile: string) => Promise.resolve(),
278278
isApplicationInstalled: (packageName: string) => Promise.resolve(_.includes(["com.telerik.unitTest1", "com.telerik.unitTest2", "com.telerik.unitTest3"], packageName)),

lib/definitions/livesync.d.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,6 @@ interface ILiveSyncResultInfo extends IHasUseHotModuleReloadOption {
369369
modifiedFilesData: Mobile.ILocalToDevicePathData[];
370370
isFullSync: boolean;
371371
waitForDebugger?: boolean;
372-
enableDebugging?: boolean;
373372
deviceAppData: Mobile.IDeviceAppData;
374373
didRecover?: boolean
375374
}

lib/helpers/livesync-command-helper.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,7 @@ export class LiveSyncCommandHelper implements ILiveSyncCommandHelper {
175175
runPlatformOptions,
176176
{
177177
appId: this.$projectData.projectIdentifiers[currentPlatform.toLowerCase()],
178-
projectName: this.$projectData.projectName,
179-
enableDebugging: false,
180-
waitForDebugger: false
178+
projectName: this.$projectData.projectName
181179
}
182180
);
183181
}

lib/services/android-device-debug-service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export class AndroidDeviceDebugService extends DebugServiceBase implements IDevi
8585

8686
await this.validateRunningApp(this.deviceIdentifier, appId);
8787
if (debugOptions.debugBrk) {
88-
await this.waitForDebugger(appId);
88+
await this.waitForDebugServer(appId);
8989
}
9090

9191
const debugPort = await this.getForwardedDebugPort(this.deviceIdentifier, appId);
@@ -107,7 +107,7 @@ export class AndroidDeviceDebugService extends DebugServiceBase implements IDevi
107107
}
108108
}
109109

110-
private async waitForDebugger(appId: String): Promise<void> {
110+
private async waitForDebugServer(appId: String): Promise<void> {
111111
const debuggerStartedFilePath = `${LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appId}-debugger-started`;
112112
const waitText: string = `0 ${debuggerStartedFilePath}`;
113113
let maxWait = 12;

lib/services/livesync/android-device-livesync-service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export class AndroidDeviceLiveSyncService extends AndroidDeviceLiveSyncServiceBa
5050
(localToDevicePath: Mobile.ILocalToDevicePathData) => !this.canExecuteFastSync(liveSyncInfo, localToDevicePath.getLocalPath(), projectData, this.device.deviceInfo.platform));
5151

5252
if (!canExecuteFastSync || liveSyncInfo.waitForDebugger) {
53-
await this.restartApplication(deviceAppData, projectData.projectName, liveSyncInfo.waitForDebugger, liveSyncInfo.enableDebugging);
53+
await this.restartApplication(deviceAppData, projectData.projectName, liveSyncInfo.waitForDebugger);
5454
result.didRestart = true;
5555
}
5656

@@ -68,12 +68,12 @@ export class AndroidDeviceLiveSyncService extends AndroidDeviceLiveSyncServiceBa
6868
this.$mobileHelper.buildDevicePath(deviceRootPath, LiveSyncPaths.REMOVEDSYNC_DIR_NAME)]);
6969
}
7070

71-
private async restartApplication(deviceAppData: Mobile.IDeviceAppData, projectName: string, waitForDebugger: boolean, enableDebugging: boolean): Promise<void> {
71+
private async restartApplication(deviceAppData: Mobile.IDeviceAppData, projectName: string, waitForDebugger: boolean): Promise<void> {
7272
const devicePathRoot = `/data/data/${deviceAppData.appIdentifier}/files`;
7373
const devicePath = this.$mobileHelper.buildDevicePath(devicePathRoot, "code_cache", "secondary_dexes", "proxyThumb");
7474
await this.device.adb.executeShellCommand(["rm", "-rf", devicePath]);
7575

76-
await this.device.applicationManager.restartApplication({ appId: deviceAppData.appIdentifier, projectName, waitForDebugger, enableDebugging });
76+
await this.device.applicationManager.restartApplication({ appId: deviceAppData.appIdentifier, projectName, waitForDebugger });
7777
}
7878

7979
@performanceLog()

lib/services/livesync/android-device-livesync-sockets-service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export class AndroidDeviceSocketsLiveSyncService extends AndroidDeviceLiveSyncSe
3333
const pathToLiveSyncFile = temp.path({ prefix: "livesync" });
3434
this.$fs.writeFile(pathToLiveSyncFile, "");
3535
await this.device.fileSystem.putFile(pathToLiveSyncFile, this.getPathToLiveSyncFileOnDevice(deviceAppData.appIdentifier), deviceAppData.appIdentifier);
36-
await this.device.applicationManager.startApplication({ appId: deviceAppData.appIdentifier, projectName: this.data.projectName, justLaunch: true, enableDebugging: false, waitForDebugger: false });
36+
await this.device.applicationManager.startApplication({ appId: deviceAppData.appIdentifier, projectName: this.data.projectName, justLaunch: true, waitForDebugger: false });
3737
await this.connectLivesyncTool(this.data.projectIdentifiers.android, deviceAppData.connectTimeout);
3838
} catch (err) {
3939
await this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(deviceAppData.appIdentifier), deviceAppData.appIdentifier);
@@ -96,7 +96,7 @@ export class AndroidDeviceSocketsLiveSyncService extends AndroidDeviceLiveSyncSe
9696
const result: IRefreshApplicationInfo = { didRestart: false };
9797
const canExecuteFastSync = !liveSyncInfo.isFullSync && this.canExecuteFastSyncForPaths(liveSyncInfo, liveSyncInfo.modifiedFilesData, projectData, this.device.deviceInfo.platform);
9898
if (!canExecuteFastSync || !liveSyncInfo.didRefresh || liveSyncInfo.waitForDebugger) {
99-
await this.device.applicationManager.restartApplication({ appId: liveSyncInfo.deviceAppData.appIdentifier, projectName: projectData.projectName, waitForDebugger: liveSyncInfo.waitForDebugger, enableDebugging: liveSyncInfo.enableDebugging });
99+
await this.device.applicationManager.restartApplication({ appId: liveSyncInfo.deviceAppData.appIdentifier, projectName: projectData.projectName, waitForDebugger: liveSyncInfo.waitForDebugger });
100100
if (!this.$options.justlaunch && !liveSyncInfo.waitForDebugger && this.livesyncTool.protocolVersion && semver.gte(this.livesyncTool.protocolVersion, AndroidDeviceSocketsLiveSyncService.MINIMAL_VERSION_LONG_LIVING_CONNECTION)) {
101101
try {
102102
await this.connectLivesyncTool(liveSyncInfo.deviceAppData.appIdentifier);

0 commit comments

Comments
 (0)