start method
Implementation
Future<void> start() async {
String serverAddress = await _getServerAddress();
if (_client.connection is AnyInspectConnectionImplWs) {
(_client.connection as AnyInspectConnectionImplWs)
.setServerUrl('ws://$serverAddress:7700');
}
PackageInfo packageInfo = await PackageInfo.fromPlatform();
_client.appIdentifier = packageInfo.packageName;
_client.appName = packageInfo.appName;
_client.appVersion = packageInfo.version;
_client.appBuildNumber = packageInfo.buildNumber;
DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
if (kIsWeb) {
WebBrowserInfo webBrowserInfo = await deviceInfoPlugin.webBrowserInfo;
_client.deviceId = webBrowserInfo.userAgent;
} else {
if (Platform.isAndroid) {
AndroidDeviceInfo androidDeviceInfo =
await deviceInfoPlugin.androidInfo;
_client.deviceId = androidDeviceInfo.id;
_client.deviceName = androidDeviceInfo.display;
_client.deviceIsPhysical = androidDeviceInfo.isPhysicalDevice;
} else if (Platform.isIOS) {
IosDeviceInfo iosInfo = await deviceInfoPlugin.iosInfo;
_client.deviceId = iosInfo.identifierForVendor;
_client.deviceName = iosInfo.name;
_client.deviceIsPhysical = iosInfo.isPhysicalDevice;
} else if (Platform.isLinux) {
LinuxDeviceInfo linuxDeviceInfo = await deviceInfoPlugin.linuxInfo;
_client.deviceId = linuxDeviceInfo.id;
} else if (Platform.isMacOS) {
MacOsDeviceInfo macOsDeviceInfo = await deviceInfoPlugin.macOsInfo;
_client.deviceId = macOsDeviceInfo.systemGUID;
_client.deviceName = macOsDeviceInfo.computerName;
} else if (Platform.isWindows) {
// WindowsDeviceInfo windowsDeviceInfo =
// await deviceInfoPlugin.windowsInfo;
// _client.deviceName = windowsDeviceInfo.computerName;
_client.deviceName = Platform.localHostname;
}
_client.deviceSystem = Platform.operatingSystem;
_client.deviceSystemVersion = Platform.operatingSystemVersion;
}
try {
await _connect();
} catch (error) {
_startReconnect();
}
}