pickAlbumMedia method
Future<void>
pickAlbumMedia({
- required String conversationID,
- required AlbumPickerMediaSendListener listener,
- AlbumPickerConfig? config,
- AlbumPickerTheme? theme,
Implementation
Future<void> pickAlbumMedia({
required String conversationID,
required AlbumPickerMediaSendListener listener,
AlbumPickerConfig? config,
AlbumPickerTheme? theme,
}) async {
final sessionKey = '${DateTime.now().millisecondsSinceEpoch}_${conversationID.hashCode}';
final session = _PickerSession(
sessionKey: sessionKey,
conversationID: conversationID,
listener: listener,
);
_pickerSessions[sessionKey] = session;
debugPrint("[MediaSendManager] pickAlbumMedia: session=$sessionKey, conversationID=$conversationID");
await AlbumPicker.pickMedia(
config: config,
theme: theme,
onPickConfirm: (pickedAlbumMedias, textMessage) {
debugPrint("[MediaSendManager] onPickConfirm: ${pickedAlbumMedias.length} items, session=$sessionKey");
},
onMediaProcessing: (albumMedia, progress, error) {
_handleMediaProcessing(media: albumMedia, progress: progress, error: error, session: session);
},
onMediaProcessed: () {
debugPrint("[MediaSendManager] onMediaProcessed: session=$sessionKey");
_pickerSessions.remove(sessionKey);
},
onCancel: () {
debugPrint("[MediaSendManager] onCancel: session=$sessionKey");
_pickerSessions.remove(sessionKey);
},
);
}