getSSID method

Future<void> getSSID()

Implementation

Future<void> getSSID() async {
  onSSIDChanged(unknownSSID);

  final initialStatus = await _ssidResolver.checkPermissionStatus();
  if (initialStatus.isGranted) {
    final newSsid = await _ssidResolver.resolveSSID();
    onSSIDChanged(newSsid);
    return;
  }

  _isRequestingPermission = true;
  await _ssidResolver.requestPermission();

  await Future.delayed(const Duration(milliseconds: 100));
  if (!_isRequestingPermission) return;

  await _checkPermissionAndContinue();

  _permissionCheckTimer = Timer.periodic(
    const Duration(milliseconds: 100),
    (_) => _checkPermissionAndContinue(),
  );
}