ios_params.dart 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import 'package:json_annotation/json_annotation.dart';
  2. part 'ios_params.g.dart';
  3. /// Object config for iOS.
  4. @JsonSerializable(explicitToJson: true)
  5. class IOSParams {
  6. /// App's Icon. using for display inside Callkit(iOS)
  7. final String? iconName;
  8. /// Type handle call `generic`, `number`, `email`
  9. final String? handleType;
  10. final bool? supportsVideo;
  11. final int? maximumCallGroups;
  12. final int? maximumCallsPerCallGroup;
  13. final String? audioSessionMode;
  14. final bool? audioSessionActive;
  15. final double? audioSessionPreferredSampleRate;
  16. final double? audioSessionPreferredIOBufferDuration;
  17. final bool? configureAudioSession;
  18. final bool? supportsDTMF;
  19. final bool? supportsHolding;
  20. final bool? supportsGrouping;
  21. final bool? supportsUngrouping;
  22. /// Add file to root project xcode /ios/Runner/Ringtone.caf and Copy Bundle Resources(Build Phases) -> value: "Ringtone.caf"
  23. final String? ringtonePath;
  24. const IOSParams({
  25. this.iconName,
  26. this.handleType,
  27. this.supportsVideo,
  28. this.maximumCallGroups,
  29. this.maximumCallsPerCallGroup,
  30. this.audioSessionMode,
  31. this.audioSessionActive,
  32. this.audioSessionPreferredSampleRate,
  33. this.audioSessionPreferredIOBufferDuration,
  34. this.configureAudioSession,
  35. this.supportsDTMF,
  36. this.supportsHolding,
  37. this.supportsGrouping,
  38. this.supportsUngrouping,
  39. this.ringtonePath,
  40. });
  41. factory IOSParams.fromJson(Map<String, dynamic> json) =>
  42. _$IOSParamsFromJson(json);
  43. Map<String, dynamic> toJson() => _$IOSParamsToJson(this);
  44. }