Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Use quill_native_bridge as default impl in DefaultClipboardServ…
…ice, fix related bugs in the extensions package (singerdmx#2230) * feat(quill_native_bridge): add initial implementation for getClipboardHTML() method channel for Android and iOS, example and Android platform directory * chore(example): use quill_native_bridge from path in dependency_overrides * feat: use quill_native_bridge for HTML Clipboard in flutter_quill and the example (initial impl) * feat(quill_native_bridge): extend the support for macOS. * chore(example): clear todos in app module build.gradle * chore(android): additional check before accessing the clip data item * fix(flutter_quill_extensions): unrelated bug for copying an image (needs further fixes) * feat: add copyImageToClipboard() method channel, an asset file in the example, and set supported platforms in pubspec.yaml, configure quill_native_bridge example * docs(readme): add an optional step to configure copying images to the clipboard on Android for quill_native_bridge * feat: use copyImageToClipboard() in flutter_quill_extensions, fix common issues in the copy image button * chore: correct name of _loadImageBytesFromImageProvider() * feat: add web support for copyImageToClipboard() * feat: (WIP) retrieving image files from the clipboard, simplifying ClipboardService, slightly updating Android, disabling copyImageToClipboard() for web (temporarily). WIP * chore(example): rename _flutterQuillAssetImage to _kFlutterQuillAssetImage * chore(example): update error messages in quill_native_bridge example * feat: add support for gif, fix unhandled exception on Android only when getting an image from the clipboard before closing the app on a new app start, clean up the platform support check * chore(example): configure the Android example for copying images to the system clipboard, update README.md * feat: support for web (WIP, will be updated soon) * chore: annotate ClipboardService and related classes as experimental * chore: temporarily add dependency_overrides to fix build failure - revert this change later * feat: separate web implementation from quill_native_bridge into quill_native_bridge_web * chore: update description of quill_native_bridge_web * chore(web): avoid using jsify() when possible * chore: publish and use quill_native_bridge_web in quill_native_bridge, update to the newly published quill_native_bridge in flutter_quill * docs(readme): use pub.dev link of quill_native_bridge in quill_native_bridge_web * chore: use .toJS in clipboardItem map (minor change) * fix: use hosted quill_native_bridge in dependencies and override with the local path in dependency_overrides * fix: update minimum required version of Flutter/Dart by quill_native_bridge * test: write basic integration tests for getClipboardImage() and copyImageToClipboard() * feat: add copyHTMLToClipboard(), add integration tests for copyHTMLToClipboard() and getClipboardHTML(), minor cleanup in the example * chore: cleanup QuillNativeBridgeWeb, extract mime constants, organize the order of implemented methods * fix(web): issue caused by previous commit * docs(web): update methods of QuillNativeBridge to reflect the web support * chore(android): cleanup the check for HTML from the clipboard in getClipboardHTML * test: add a test for getClipboardHTML to ensure it's not null only when the HTML item is the last/primary * ci: attempt to fix CI failure by updating the outdated path of quill_native_bridge after splitting the web implementation * docs: document why platform implementations of QuillNativeBridgePlatform should extend it rather than implements * chore(example): add Windows platform runner example using Flutter CLI (change is automated) * feat: (WIP) add windows experimental support for getClipboardHTML(), new integration test to ensure the HTML is parsable * fix(docs): update incorrect description of quill_native_bridge_windows in README * refactor: move plugin platform interface to quill_native_bridge_platform_interface * chore: (WIP): publish quill_native_bridge 10.7.5 * chore: (WIP) publish quill_native_bridge_web to use quill_native_bridge_platform_interface * chore(example): add Linux platform runner example using Flutter CLI (change is automated) * feat(linux): (WIP) highly experimental Linux support using xclip * fix(windows): non case sensitive check in stripWin32HtmlDescription() suggested by @AtlasAutocode * chore(example): unrelated change for windows in Flutter Quill example due to using flutter_inappwebview_windows without running the example on windows (outside of this PR) * chore(android): cleanup onMethodCall() in QuillNativeBridgePlugin * docs(readme): update docs to reflect the changes * chore: use hasWebSupport instead of hardcoding the check directly in QuillNativeBridgePlatformFeature.isSupported * feat: rename MethodChannelQuillNativeBridge.methodChannel to testMethodChannel, check in development mode to ensure that testMethodChannel can be only used in unit tests for non-web platforms * refactor: move android implementation from quill_native_bridge to quill_native_bridge_android, use pigeon for Android * chore: update QuillNativeBridgeAndroid.registerWith() assert message * refactor(apple): move iOS and macOS implementation from quill_native_bridge to quill_native_bridge_ios and quill_native_bridge_macos, use pigeon for iOS and macOS, clean the code and update QuillNativeBridge to QuillNativeBridgeImpl on Android * chore: add quill_native_bridge_platform_interface in pubspec_overides.yaml of quill_native_bridge * refactor: rename copyHTMLToClipboard() and getClipboardHTML() to copyHtmlToClipboard() and getClipboardHtml() * feat: more advanced method to check the platform support check allowing each platform to have its own check, publish a new experimental version of quill_native_version * chore(analysis): remove unused imports in quill_native_bridge and quill_native_bridge_platform_interface * fix(ci): temporarily pub get quill_native_bridge packages in main workflow * chore: format dart pigeon generated files as a workaround to CI failure * chore(deps): update flutter_lints to 5.0.0 in quill_native_bridge * refactor(windows): move CloseClipboard() to finally block in getClipboardHtml() * chore(windows): clear todo related to previous commit * chore(readme): remove description from the platform support table, use emojis instead of text for readability * chore(readme): use different emoji for platforms that don't support a feature or are inapplicable in the platform support table * style(windows): use TEXT and free from win32 instead of toNativeUtf16() and calloc.free(pointer) from ffi * refactor(windows): only register HTML format id once * feat(windows): (WIP) highly experimental support for copyHtmlToClipboard(), minor cleanup (need more) * refactor: extract supported platforms into Set for isSupported() * chore(windows): add error code in errors using GetLastError() * chore(windows): avoid passing the locked memory pointer to SetClipboardData() in copyHtmlToClipboard() * docs(readme): document android platform configuration in quill_native_bridge * fix(windows): (WIP) GlobalUnlock before SetClipboardData and GlobalFree on SetClipboardData failure * docs(readme): slightly improve platform configuration docs in quill_native_bridge * fix(windows): GlobalUnlock() the handle instead of pointer before calling GlobalUnlock() * chore(android): add reference to Flutter #63533 * chore(android): define package in GeneratedMessages.kt, update related imports * chore(android): ignore analysis warning for the generated code messages.g.dart * feat: (WIP) add initial support for getClipboardFiles() * chore(ci): format generated messages.g.dart file to bypass CI failure * feat(linux): add support for getClipboardFiles() * docs: update the old reference of QuillNativeBridgeFeature, add doc comment for the library * chore(readme): add link for quill_native_bridge, correct minor typo * chore(docs): minor changes to update the doc comment in QuillController * chore: move quill_native_bridge to https://github.com/FlutterQuill/quill-native-bridge * docs(readme): improve the 'Rich Text Paste' section, drop the TODO for providing a way to customize the paste behavior and customize the clipboard operations * chore: update deprecation message of FlutterQuillExtensions.useSuperClipboardPlugin() to reflect the change * chore(example): remove the comment of deprecated method FlutterQuillExtensions.useSuperClipboardPlugin() * chore: rename ClipboardService.copyImageToClipboard() to ClipboardService.copyImage() (non-breaking change) * chore: add a link to a TODO in DefaultClipboardService._getClipboardFile()
- Loading branch information