talk_original.dart 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import 'package:get/get.dart';
  2. import 'package:json_annotation/json_annotation.dart';
  3. part 'talk_original.g.dart';
  4. @JsonSerializable()
  5. class TalkOriginal {
  6. @JsonKey(name: 'endMs')
  7. int? endMs;
  8. @JsonKey(name: 'startMs')
  9. int? startMs;
  10. @JsonKey(name: 'duration')
  11. double? duration;
  12. @JsonKey(name: 'speakerId')
  13. int? speakerId;
  14. @JsonKey(name: 'speaker')
  15. String? speaker;
  16. @JsonKey(name: 'sentence')
  17. String? sentence;
  18. @JsonKey(includeFromJson: false, includeToJson: false)
  19. final Rxn<bool> _isSelected = Rxn<bool>();
  20. bool isSelected() => _isSelected.value ?? false;
  21. setSelected(bool value) => _isSelected.value = value;
  22. @JsonKey(includeFromJson: false, includeToJson: false)
  23. final Rx<TalkTranslate> _translateStatus = TalkTranslate.normal.obs;
  24. TalkTranslate getTranslateStatus() => _translateStatus.value;
  25. setTranslateStatus(TalkTranslate value) => _translateStatus.value = value;
  26. @JsonKey(includeFromJson: false, includeToJson: false)
  27. final Rxn<String> _translatedSentence = Rxn<String>();
  28. String? getTranslatedSentence() => _translatedSentence.value;
  29. setTranslatedSentence(String value) => _translatedSentence.value = value;
  30. TalkOriginal({
  31. this.endMs,
  32. this.startMs,
  33. this.duration,
  34. this.speakerId,
  35. this.speaker,
  36. this.sentence,
  37. });
  38. factory TalkOriginal.fromJson(Map<String, dynamic> json) =>
  39. _$TalkOriginalFromJson(json);
  40. }
  41. enum TalkTranslate {
  42. normal,
  43. translating,
  44. translated,
  45. translateFail,
  46. }