|
|
|
@ -16,6 +16,14 @@ enum _MeetingRecordExitAction { |
|
|
|
class MeetingRecordView extends GetView<MeetingRecordController> { |
|
|
|
const MeetingRecordView({super.key}); |
|
|
|
|
|
|
|
void _deleteControllerAfterPop() { |
|
|
|
Future.delayed(const Duration(milliseconds: 400), () { |
|
|
|
if (Get.isRegistered<MeetingRecordController>()) { |
|
|
|
Get.delete<MeetingRecordController>(force: true); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
Future<_MeetingRecordExitAction?> _showExitConfirmDialog(bool isDarkMode) { |
|
|
|
return Get.dialog<_MeetingRecordExitAction>( |
|
|
|
Dialog( |
|
|
|
@ -191,11 +199,7 @@ class MeetingRecordView extends GetView<MeetingRecordController> { |
|
|
|
|
|
|
|
if (!controller.isRecording.value) { |
|
|
|
Get.back(); |
|
|
|
Future.microtask(() { |
|
|
|
if (Get.isRegistered<MeetingRecordController>()) { |
|
|
|
Get.delete<MeetingRecordController>(force: true); |
|
|
|
} |
|
|
|
}); |
|
|
|
_deleteControllerAfterPop(); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
@ -209,20 +213,12 @@ class MeetingRecordView extends GetView<MeetingRecordController> { |
|
|
|
await controller.saveTitleChange(); |
|
|
|
await controller.saveRecording(); |
|
|
|
Get.back(result: 'meeting_record_saved'); |
|
|
|
Future.microtask(() { |
|
|
|
if (Get.isRegistered<MeetingRecordController>()) { |
|
|
|
Get.delete<MeetingRecordController>(force: true); |
|
|
|
} |
|
|
|
}); |
|
|
|
_deleteControllerAfterPop(); |
|
|
|
return; |
|
|
|
case _MeetingRecordExitAction.endWithoutSave: |
|
|
|
await controller.discardRecording(); |
|
|
|
Get.back(result: 'meeting_record_discarded'); |
|
|
|
Future.microtask(() { |
|
|
|
if (Get.isRegistered<MeetingRecordController>()) { |
|
|
|
Get.delete<MeetingRecordController>(force: true); |
|
|
|
} |
|
|
|
}); |
|
|
|
_deleteControllerAfterPop(); |
|
|
|
return; |
|
|
|
case _MeetingRecordExitAction.continueInBackground: |
|
|
|
await controller.saveTitleChange(); |
|
|
|
@ -472,7 +468,7 @@ class MeetingRecordView extends GetView<MeetingRecordController> { |
|
|
|
)), |
|
|
|
const Spacer(), |
|
|
|
_buildBottomBar(context, isDarkMode), |
|
|
|
SizedBox(height: 32.h), |
|
|
|
SizedBox(height: 42.h), |
|
|
|
], |
|
|
|
); |
|
|
|
}, |
|
|
|
@ -490,7 +486,9 @@ class MeetingRecordView extends GetView<MeetingRecordController> { |
|
|
|
_buildActionButton( |
|
|
|
onTap: controller.toggleMarked, |
|
|
|
child: Obx(() => Icon( |
|
|
|
controller.isMarked.value ? Icons.star : Icons.star_border, |
|
|
|
controller.isMarked.value |
|
|
|
? Icons.star_rounded |
|
|
|
: Icons.star_border_rounded, |
|
|
|
size: 36.sp, |
|
|
|
color: |
|
|
|
controller.isMarked.value ? Colors.orange : Colors.grey, |
|
|
|
@ -507,7 +505,7 @@ class MeetingRecordView extends GetView<MeetingRecordController> { |
|
|
|
child: Obx(() => Icon( |
|
|
|
controller.timerStatus.value == TimerStatus.running |
|
|
|
? Icons.pause |
|
|
|
: Icons.play_arrow, |
|
|
|
: Icons.play_arrow_rounded, |
|
|
|
size: 44.sp, |
|
|
|
color: Colors.red, |
|
|
|
)), |
|
|
|
@ -521,7 +519,7 @@ class MeetingRecordView extends GetView<MeetingRecordController> { |
|
|
|
_buildActionButton( |
|
|
|
onTap: () => _bottomSheet(context, isDarkMode), |
|
|
|
child: Icon( |
|
|
|
Icons.check, |
|
|
|
Icons.check_rounded, |
|
|
|
size: 36.sp, |
|
|
|
color: Colors.green, |
|
|
|
), |
|
|
|
|