From 529dee2577e07874f88384794992af08fc968ab2 Mon Sep 17 00:00:00 2001 From: Sebastian Lohff Date: Fri, 7 Mar 2025 01:41:02 +0100 Subject: [PATCH] Commit missing SharePlugin source I seem to have forgotten to add my patched version of the SharePlugin in commit 7f06f39f7e, so here it is. --- addons/SharePlugin/Share.gd | 80 ++++++++++++++++++ addons/SharePlugin/ShareExportPlugin.gd | 65 ++++++++++++++ .../bin/debug/SharePlugin-3.0-debug.aar | Bin 0 -> 5149 bytes .../bin/release/SharePlugin-3.0-release.aar | Bin 0 -> 4957 bytes addons/SharePlugin/icon.png | 3 + addons/SharePlugin/icon.png.import | 34 ++++++++ addons/SharePlugin/model/SharedData.gd | 47 ++++++++++ addons/SharePlugin/plugin.cfg | 10 +++ 8 files changed, 239 insertions(+) create mode 100644 addons/SharePlugin/Share.gd create mode 100644 addons/SharePlugin/ShareExportPlugin.gd create mode 100644 addons/SharePlugin/bin/debug/SharePlugin-3.0-debug.aar create mode 100644 addons/SharePlugin/bin/release/SharePlugin-3.0-release.aar create mode 100644 addons/SharePlugin/icon.png create mode 100644 addons/SharePlugin/icon.png.import create mode 100644 addons/SharePlugin/model/SharedData.gd create mode 100644 addons/SharePlugin/plugin.cfg diff --git a/addons/SharePlugin/Share.gd b/addons/SharePlugin/Share.gd new file mode 100644 index 0000000..3ceb7db --- /dev/null +++ b/addons/SharePlugin/Share.gd @@ -0,0 +1,80 @@ +# +# © 2024-present https://github.com/cengiz-pz +# + +@tool +class_name Share +extends Node + +const PLUGIN_SINGLETON_NAME: String = "SharePlugin" +const MIME_TYPE_TEXT: String = "text/plain" +const MIME_TYPE_IMAGE: String = "image/*" + +@onready var _temp_image_path: String = OS.get_user_data_dir() + "/tmp_share_img_path.png" + +var _plugin_singleton: Object + + +func _ready() -> void: + if OS.get_name() == "Android": + _update_plugin() + + +func _notification(a_what: int) -> void: + if a_what == NOTIFICATION_APPLICATION_RESUMED: + _update_plugin() + + +func _update_plugin() -> void: + if _plugin_singleton == null: + if Engine.has_singleton(PLUGIN_SINGLETON_NAME): + _plugin_singleton = Engine.get_singleton(PLUGIN_SINGLETON_NAME) + else: + printerr("%s singleton not found!" % PLUGIN_SINGLETON_NAME) + + +func share_text(a_title: String, a_subject: String, a_content: String) -> void: + if _plugin_singleton != null: + _plugin_singleton.share( + SharedData.new() + .set_title(a_title) + .set_subject(a_subject) + .set_content(a_content) + .set_mime_type(MIME_TYPE_TEXT) + .get_raw_data() + ) + else: + printerr("%s plugin not initialized" % PLUGIN_SINGLETON_NAME) + + +func share_image(a_path: String, a_title: String, a_subject: String, a_content: String) -> void: + share_file(a_path, MIME_TYPE_IMAGE, a_title, a_subject, a_content) + + +func share_texture(a_texture: Texture2D, a_title: String, a_subject: String, a_content: String) -> void: + var __image: Image = a_texture.get_image() + __image.save_png(_temp_image_path) + share_file(_temp_image_path, MIME_TYPE_IMAGE, a_title, a_subject, a_content) + + +func share_viewport(a_viewport: Viewport, a_title: String, a_subject: String, a_content: String, a_flip_y: bool = false) -> void: + var __image: Image = a_viewport.get_texture().get_image() + if a_flip_y: + __image.flip_y() + __image.save_png(_temp_image_path) + share_file(_temp_image_path, MIME_TYPE_IMAGE, a_title, a_subject, a_content) + + +func share_file(a_path: String, a_mime_type: String, a_title: String, a_subject: String, a_content: String) -> void: + if _plugin_singleton != null: + _plugin_singleton.share( + SharedData.new() + .set_title(a_title) + .set_subject(a_subject) + .set_content(a_content) + .set_mime_type(a_mime_type) + .set_file_path(a_path) + .get_raw_data() + ) + else: + printerr("%s plugin not initialized" % PLUGIN_SINGLETON_NAME) diff --git a/addons/SharePlugin/ShareExportPlugin.gd b/addons/SharePlugin/ShareExportPlugin.gd new file mode 100644 index 0000000..2b414bb --- /dev/null +++ b/addons/SharePlugin/ShareExportPlugin.gd @@ -0,0 +1,65 @@ +# +# © 2024-present https://github.com/cengiz-pz +# + +@tool +extends EditorPlugin + +const PLUGIN_NODE_TYPE_NAME = "Share" +const PLUGIN_PARENT_NODE_TYPE = "Node" +const PLUGIN_NAME: String = "SharePlugin" +const PLUGIN_VERSION: String = "3.0" +const PLUGIN_PACKAGE: String = "org.godotengine.plugin.android.share" +const PLUGIN_DEPENDENCIES: Array = [ "androidx.appcompat:appcompat:1.7.0" ] + +const PROVIDER_TAG = """ + + + +""" + +var export_plugin: AndroidExportPlugin + + +func _enter_tree() -> void: + add_custom_type(PLUGIN_NODE_TYPE_NAME, PLUGIN_PARENT_NODE_TYPE, preload("Share.gd"), preload("icon.png")) + export_plugin = AndroidExportPlugin.new() + add_export_plugin(export_plugin) + + +func _exit_tree() -> void: + remove_custom_type(PLUGIN_NODE_TYPE_NAME) + remove_export_plugin(export_plugin) + export_plugin = null + + +class AndroidExportPlugin extends EditorExportPlugin: + var _plugin_name = PLUGIN_NAME + + + func _supports_platform(platform: EditorExportPlatform) -> bool: + if platform is EditorExportPlatformAndroid: + return true + return false + + + func _get_android_libraries(platform: EditorExportPlatform, debug: bool) -> PackedStringArray: + if debug: + return PackedStringArray(["%s/bin/debug/%s-%s-debug.aar" % [_plugin_name, _plugin_name, PLUGIN_VERSION]]) + else: + return PackedStringArray(["%s/bin/release/%s-%s-release.aar" % [_plugin_name, _plugin_name, PLUGIN_VERSION]]) + + + func _get_name() -> String: + return _plugin_name + + + func _get_android_dependencies(platform: EditorExportPlatform, debug: bool) -> PackedStringArray: + return PackedStringArray(PLUGIN_DEPENDENCIES) + + + func _get_android_manifest_application_element_contents(platform: EditorExportPlatform, debug: bool) -> String: + return PROVIDER_TAG % [PLUGIN_PACKAGE, get_option("package/unique_name")] diff --git a/addons/SharePlugin/bin/debug/SharePlugin-3.0-debug.aar b/addons/SharePlugin/bin/debug/SharePlugin-3.0-debug.aar new file mode 100644 index 0000000000000000000000000000000000000000..810c4bb123d5fd9e4b1fdb5390432916644ca6b8 GIT binary patch literal 5149 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 literal 0 HcmV?d00001 diff --git a/addons/SharePlugin/bin/release/SharePlugin-3.0-release.aar b/addons/SharePlugin/bin/release/SharePlugin-3.0-release.aar new file mode 100644 index 0000000000000000000000000000000000000000..1f68b69dcb9ab39e20c99d5b020f9c5878c83804 GIT binary patch literal 4957 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 void: + _data = {} + + +func set_title(a_title: String) -> SharedData: + _data[DATA_KEY_TITLE] = a_title + return self + + +func set_subject(a_subject: String) -> SharedData: + _data[DATA_KEY_SUBJECT] = a_subject + return self + + +func set_content(a_content: String) -> SharedData: + _data[DATA_KEY_CONTENT] = a_content + return self + + +func set_file_path(a_file_path: String) -> SharedData: + _data[DATA_KEY_FILE_PATH] = a_file_path + return self + + +func set_mime_type(a_mime_type: String) -> SharedData: + _data[DATA_KEY_MIME_TYPE] = a_mime_type + return self + + +func get_raw_data() -> Dictionary: + return _data diff --git a/addons/SharePlugin/plugin.cfg b/addons/SharePlugin/plugin.cfg new file mode 100644 index 0000000..ccfe71f --- /dev/null +++ b/addons/SharePlugin/plugin.cfg @@ -0,0 +1,10 @@ +; +; © 2024-present https://github.com/cengiz-pz +; +[plugin] + +name="Share" +description="Allow sharing of text or images with other apps" +author="Cengiz" +version="3.0" +script="ShareExportPlugin.gd"