saveNtut8021xToSystem method
Implementation
Future<Ntut8021xProvisioningResult> saveNtut8021xToSystem({
String? identity,
String? password,
Ntut8021xPendingPromptReason? pendingPromptReason,
}) async {
final data = await getNtut8021xAssistantData();
final resolvedIdentity = identity ?? data.identity;
final resolvedPassword = password ?? data.password;
if (resolvedIdentity == null ||
resolvedPassword == null ||
!data.capabilities.canProvisionNtut8021xCompat ||
!data.capabilities.isAndroid11OrNewer) {
return const Ntut8021xProvisioningResult.unsupported();
}
final provisioning = await _platform.saveNtut8021xToSystem(
identity: resolvedIdentity,
password: resolvedPassword,
);
final compatResult = _provisioningResultFromDto(
provisioning,
defaultMode: Ntut8021xProvisioningMode.compat,
);
if (compatResult.status == Ntut8021xProvisioningStatus.compatSuccess) {
await _autoReprovision.enable();
await _stateStore.markProvisioned(
mode: Ntut8021xStoredProvisioningMode.compat,
);
return compatResult;
}
final nextPendingPromptReason =
pendingPromptReason ??
data.pendingPromptReason ??
Ntut8021xPendingPromptReason.suggestionFallbackRequired;
await _stateStore.setPendingCompatPrompt(
reason: _storedPendingPromptReason(nextPendingPromptReason),
immediate: false,
);
return _copyResultWithPendingReason(compatResult, nextPendingPromptReason);
}