mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 08:15:16 +00:00
Generate video thumbnails
This commit is contained in:
@ -77,8 +77,8 @@ Future<BytesFile> showPickFileDialog({
|
||||
@required BuildContext context,
|
||||
int maxFileSize,
|
||||
List<String> allowedMimeTypes,
|
||||
double imageMaxWidth,
|
||||
double imageMaxHeight,
|
||||
int imageMaxWidth,
|
||||
int imageMaxHeight,
|
||||
}) async {
|
||||
assert(allowedMimeTypes != null);
|
||||
|
||||
@ -113,8 +113,8 @@ Future<BytesFile> showPickFileDialog({
|
||||
source: choice == _FileChoices.PICK_IMAGE
|
||||
? ImageSource.gallery
|
||||
: ImageSource.camera,
|
||||
maxWidth: imageMaxWidth,
|
||||
maxHeight: imageMaxHeight,
|
||||
maxWidth: imageMaxWidth.toDouble(),
|
||||
maxHeight: imageMaxHeight.toDouble(),
|
||||
);
|
||||
|
||||
if (image == null) return null;
|
||||
|
@ -6,6 +6,7 @@ import 'package:comunic/helpers/server_config_helper.dart';
|
||||
import 'package:comunic/helpers/users_helper.dart';
|
||||
import 'package:comunic/lists/conversation_messages_list.dart';
|
||||
import 'package:comunic/lists/users_list.dart';
|
||||
import 'package:comunic/models/api_request.dart';
|
||||
import 'package:comunic/models/conversation.dart';
|
||||
import 'package:comunic/models/conversation_message.dart';
|
||||
import 'package:comunic/models/new_conversation_message.dart';
|
||||
@ -15,11 +16,14 @@ import 'package:comunic/ui/tiles/conversation_message_tile.dart';
|
||||
import 'package:comunic/ui/tiles/server_conversation_message_tile.dart';
|
||||
import 'package:comunic/ui/widgets/safe_state.dart';
|
||||
import 'package:comunic/ui/widgets/scroll_watcher.dart';
|
||||
import 'package:comunic/utils/files_utils.dart';
|
||||
import 'package:comunic/utils/intl_utils.dart';
|
||||
import 'package:comunic/utils/list_utils.dart';
|
||||
import 'package:comunic/utils/log_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:comunic/utils/video_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mime/mime.dart';
|
||||
|
||||
/// Conversation screen
|
||||
///
|
||||
@ -227,16 +231,23 @@ class _ConversationScreenState extends SafeState<ConversationScreen> {
|
||||
context: context,
|
||||
maxFileSize: srvConfig.conversationsPolicy.filesMaxSize,
|
||||
allowedMimeTypes: srvConfig.conversationsPolicy.allowedFilesType,
|
||||
imageMaxWidth: srvConfig.conversationsPolicy.maxMessageImageWidth,
|
||||
imageMaxHeight: srvConfig.conversationsPolicy.maxMessageImageHeight,
|
||||
);
|
||||
|
||||
if (file == null) return;
|
||||
|
||||
BytesFile thumbnail;
|
||||
|
||||
if (isVideo(lookupMimeType(file.filename)))
|
||||
thumbnail = await generateVideoThumbnail(videoFile: file);
|
||||
|
||||
await _submitMessage(
|
||||
NewConversationMessage(
|
||||
conversationID: widget.conversationID,
|
||||
message: null,
|
||||
file: file,
|
||||
),
|
||||
conversationID: widget.conversationID,
|
||||
message: null,
|
||||
file: file,
|
||||
thumbnail: thumbnail),
|
||||
);
|
||||
} catch (e, s) {
|
||||
logError(e, s);
|
||||
|
@ -90,7 +90,9 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
|
||||
// Update message content
|
||||
PopupMenuItem(
|
||||
enabled: message.isOwner,
|
||||
enabled: message.isOwner &&
|
||||
message.message != null &&
|
||||
message.message.content.isNotEmpty,
|
||||
value: _MenuChoices.REQUEST_UPDATE_CONTENT,
|
||||
child: Text(tr("Update")),
|
||||
),
|
||||
|
Reference in New Issue
Block a user