TF-1033: able share other file not media file

This commit is contained in:
ManhNTX
2022-10-05 15:06:37 +07:00
committed by Dat H. Pham
parent b180f0187b
commit 9fd1b4f653
4 changed files with 13 additions and 4 deletions
@@ -675,10 +675,10 @@ class ComposerView extends GetWidget<ComposerController>
addDefaultSelectionMenuItems: false, addDefaultSelectionMenuItems: false,
initialContent: initialContent, initialContent: initialContent,
onCreated: (editorApi) { onCreated: (editorApi) {
richTextMobileTabletController.htmlEditorApi = editorApi;
if(responsiveUtils.isMobile(context)){ if(responsiveUtils.isMobile(context)){
controller.keyboardRichTextController.onCreateHTMLEditor(editorApi); controller.keyboardRichTextController.onCreateHTMLEditor(editorApi);
} else { } else {
richTextMobileTabletController.htmlEditorApi = editorApi;
richTextMobileTabletController.listenHtmlEditorApi(); richTextMobileTabletController.listenHtmlEditorApi();
} }
}, },
@@ -140,7 +140,7 @@ class RichTextMobileTabletController extends BaseRichTextController {
htmlEditorApi?.insertImageLink(image.link!); htmlEditorApi?.insertImageLink(image.link!);
} else { } else {
await htmlEditorApi?.moveCursorAtLastNode(); await htmlEditorApi?.moveCursorAtLastNode();
htmlEditorApi?.insertHtml(image.base64Uri ?? ''); await htmlEditorApi?.insertHtml(image.base64Uri ?? '');
} }
} }
@@ -4,6 +4,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:model/model.dart'; import 'package:model/model.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart'; import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/caching/caching_manager.dart'; import 'package:tmail_ui_user/features/caching/caching_manager.dart';
import 'package:tmail_ui_user/features/cleanup/domain/model/cleanup_rule.dart'; import 'package:tmail_ui_user/features/cleanup/domain/model/cleanup_rule.dart';
@@ -96,8 +97,13 @@ class HomeController extends BaseController {
_emailReceiveManager.receivingSharingStream.listen((uri) { _emailReceiveManager.receivingSharingStream.listen((uri) {
log('HomeController::onReady(): Received Email: ${uri.toString()}'); log('HomeController::onReady(): Received Email: ${uri.toString()}');
if (uri != null) { if (uri != null) {
log('HomeController::onReady(): Address: ${uri.path}'); if(_emailReceiveManager.mailRegex.hasMatch(uri.path)) {
_emailReceiveManager.setPendingEmailAddress(EmailAddress(null, uri.path)); log('HomeController::onReady(): Address: ${uri.path}');
_emailReceiveManager.setPendingEmailAddress(EmailAddress(null, uri.path));
} else {
log('HomeController::onInit(): SharedMediaFilePath: ${uri.path}');
_emailReceiveManager.setPendingFileInfo([SharedMediaFile(uri.path, null, null, SharedMediaType.FILE)]);
}
} }
}); });
@@ -5,6 +5,9 @@ import 'package:rxdart/rxdart.dart';
class EmailReceiveManager { class EmailReceiveManager {
/// Regex check Url is mail or not
final mailRegex = RegExp(r'(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)');
BehaviorSubject<EmailAddress?> _pendingEmailAddressInfo = BehaviorSubject.seeded(null); BehaviorSubject<EmailAddress?> _pendingEmailAddressInfo = BehaviorSubject.seeded(null);
BehaviorSubject<EmailAddress?> get pendingEmailAddressInfo => _pendingEmailAddressInfo; BehaviorSubject<EmailAddress?> get pendingEmailAddressInfo => _pendingEmailAddressInfo;