TF-2919 Fix memory leak when attach files in composer

This commit is contained in:
dab246
2024-06-10 18:59:24 +07:00
committed by Dat H. Pham
parent 9d800ba798
commit 82b51082fc
5 changed files with 77 additions and 31 deletions
@@ -3,6 +3,7 @@ import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/views/button/tmail_button_widget.dart';
import 'package:core/presentation/views/list/sliver_grid_delegate_fixed_height.dart';
import 'package:filesize/filesize.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/composer/presentation/styles/attachment_item_composer_widget_style.dart';
@@ -73,8 +74,14 @@ class _MobileAttachmentComposerWidgetState extends State<MobileAttachmentCompose
primary: false,
itemCount: _listFileDisplayed.length,
itemBuilder: (context, index) {
final file = _listFileDisplayed[index];
return AttachmentItemComposerWidget(
fileState: _listFileDisplayed[index],
fileIcon: file.getIcon(_imagePaths),
fileName: file.fileName,
fileSize: filesize(file.fileSize),
uploadStatus: file.uploadStatus,
percentUploading: file.percentUploading,
uploadTaskId: file.uploadTaskId,
itemMargin: MobileAttachmentComposerWidgetStyle.itemMargin,
onDeleteAttachmentAction: widget.onDeleteAttachmentAction
);
@@ -130,8 +137,14 @@ class _MobileAttachmentComposerWidgetState extends State<MobileAttachmentCompose
crossAxisSpacing: MobileAttachmentComposerWidgetStyle.listItemSpace,
),
itemBuilder: (context, index) {
final file = _listFileDisplayed[index];
return AttachmentItemComposerWidget(
fileState: _listFileDisplayed[index],
fileIcon: file.getIcon(_imagePaths),
fileName: file.fileName,
fileSize: filesize(file.fileSize),
uploadStatus: file.uploadStatus,
percentUploading: file.percentUploading,
uploadTaskId: file.uploadTaskId,
itemMargin: MobileAttachmentComposerWidgetStyle.itemMargin,
itemPadding: const EdgeInsets.symmetric(horizontal: 8),
onDeleteAttachmentAction: widget.onDeleteAttachmentAction