screenMode method

  1. @override
Ntut8021xScreenMode screenMode({
  1. required Ntut8021xAssistantStatus status,
  2. required CampusWifiCapabilities capabilities,
  3. required Ntut8021xPendingPromptReason? pendingPromptReason,
})
override

Implementation

@override
Ntut8021xScreenMode screenMode({
  required Ntut8021xAssistantStatus status,
  required CampusWifiCapabilities capabilities,
  required Ntut8021xPendingPromptReason? pendingPromptReason,
}) {
  if (!capabilities.isSupported || capabilities.isLegacyAndroidManualOnly) {
    return Ntut8021xScreenMode.manualOnly;
  }
  if (status != Ntut8021xAssistantStatus.ready) {
    return Ntut8021xScreenMode.normal;
  }
  if (capabilities.isSuggestionPermissionDisallowed) {
    return Ntut8021xScreenMode.permissionRequired;
  }
  if (pendingPromptReason != null &&
      capabilities.isAndroid11OrNewer &&
      capabilities.canProvisionNtut8021xCompat) {
    return Ntut8021xScreenMode.compatRetry;
  }
  if (!capabilities.canProvisionNtut8021xSuggestion) {
    return Ntut8021xScreenMode.manualOnly;
  }
  return Ntut8021xScreenMode.normal;
}