refreshHubParams method

Future<void> refreshHubParams()

Implementation

Future<void> refreshHubParams() async {
  final result = await bleManager.paramGetByCloudId(
    dataSource: CommandDataSource.hub,
    cloudIds: [
      HubParameter.wifiConnected.value,
      HubParameter.lteConnected.value,
      HubParameter.wifiRssi.value,
      HubParameter.lteRsrp.value,
      HubParameter.lteRsrq.value,
    ],
  );

  final wifiConnected = HubBleParameters.parsePayload<bool>(
    result,
    HubBleParameters.hubWifiConnected,
  );
  final lteConnected = HubBleParameters.parsePayload<bool>(
    result,
    HubBleParameters.hubLteConnected,
  );
  final lteRsrp = HubBleParameters.parsePayload<int>(
    result,
    HubBleParameters.hubLteRsrp,
  );
  final lteRsrq = HubBleParameters.parsePayload<int>(
    result,
    HubBleParameters.hubLteRsrq,
  );

  final strengthLevel = _calculateLteStrengthLevel(lteRsrp, lteRsrq);
  final cellularStrength = _signalStrengthFromLevel(strengthLevel);

  _setData(
    (data) => data.copyWith(
      wifiStatus: wifiConnected == null
          ? data.wifiStatus
          : (wifiConnected ? WifiStatus.connected : WifiStatus.disconnected),
      cellularConnected: lteConnected,
      cellularStrength: cellularStrength,
    ),
  );
}