syncDevice method

Future<AppticsDeviceInfo?> syncDevice()

Implementation

Future<AppticsDeviceInfo?> syncDevice() async {
  final syncedDevice = await _syncedDeviceInfo.future;
  if (syncedDevice != null) {
    return syncedDevice;
  }

  final deviceInfo = await _deviceInfo.future;
  if (deviceInfo == null) {
    return null;
  }

  final statusCode = await _syncDevice(deviceInfo, false);
  if (statusCode == AppticsStatusCodes.SessionTokenExpired) {
    await _syncDevice(deviceInfo, true);
  }
  return await _syncedDeviceInfo.future;
}