From 66949e2490912c5f039bfc3c0f18d9f324c5644e Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Fri, 29 Sep 2023 09:20:04 -0300 Subject: [PATCH] update camera android project --- plugins/camera/android/settings.gradle | 2 +- .../CameraBottomSheetDialogFragment.kt | 0 .../{app/tauri/camera => }/CameraPlugin.kt | 0 .../{app/tauri/camera => }/CameraUtils.kt | 0 .../{app/tauri/camera => }/ExifWrapper.kt | 0 .../java/{app/tauri/camera => }/ImageUtils.kt | 0 plugins/camera/build.rs | 2 +- plugins/camera/dist-js/index.min.js | 114 +++++++++++++++++- plugins/camera/dist-js/index.mjs | 19 ++- plugins/camera/guest-js/index.ts | 2 +- plugins/camera/src/error.rs | 22 ++-- plugins/camera/src/lib.rs | 45 ++++--- plugins/camera/src/models.rs | 2 +- 13 files changed, 159 insertions(+), 49 deletions(-) rename plugins/camera/android/src/main/java/{app/tauri/camera => }/CameraBottomSheetDialogFragment.kt (100%) rename plugins/camera/android/src/main/java/{app/tauri/camera => }/CameraPlugin.kt (100%) rename plugins/camera/android/src/main/java/{app/tauri/camera => }/CameraUtils.kt (100%) rename plugins/camera/android/src/main/java/{app/tauri/camera => }/ExifWrapper.kt (100%) rename plugins/camera/android/src/main/java/{app/tauri/camera => }/ImageUtils.kt (100%) diff --git a/plugins/camera/android/settings.gradle b/plugins/camera/android/settings.gradle index 32f9aac2..14a752e4 100644 --- a/plugins/camera/android/settings.gradle +++ b/plugins/camera/android/settings.gradle @@ -1,2 +1,2 @@ include ':tauri-android' -project(':tauri-android').projectDir = new File('./tauri-api') +project(':tauri-android').projectDir = new File('./.tauri/tauri-api') diff --git a/plugins/camera/android/src/main/java/app/tauri/camera/CameraBottomSheetDialogFragment.kt b/plugins/camera/android/src/main/java/CameraBottomSheetDialogFragment.kt similarity index 100% rename from plugins/camera/android/src/main/java/app/tauri/camera/CameraBottomSheetDialogFragment.kt rename to plugins/camera/android/src/main/java/CameraBottomSheetDialogFragment.kt diff --git a/plugins/camera/android/src/main/java/app/tauri/camera/CameraPlugin.kt b/plugins/camera/android/src/main/java/CameraPlugin.kt similarity index 100% rename from plugins/camera/android/src/main/java/app/tauri/camera/CameraPlugin.kt rename to plugins/camera/android/src/main/java/CameraPlugin.kt diff --git a/plugins/camera/android/src/main/java/app/tauri/camera/CameraUtils.kt b/plugins/camera/android/src/main/java/CameraUtils.kt similarity index 100% rename from plugins/camera/android/src/main/java/app/tauri/camera/CameraUtils.kt rename to plugins/camera/android/src/main/java/CameraUtils.kt diff --git a/plugins/camera/android/src/main/java/app/tauri/camera/ExifWrapper.kt b/plugins/camera/android/src/main/java/ExifWrapper.kt similarity index 100% rename from plugins/camera/android/src/main/java/app/tauri/camera/ExifWrapper.kt rename to plugins/camera/android/src/main/java/ExifWrapper.kt diff --git a/plugins/camera/android/src/main/java/app/tauri/camera/ImageUtils.kt b/plugins/camera/android/src/main/java/ImageUtils.kt similarity index 100% rename from plugins/camera/android/src/main/java/app/tauri/camera/ImageUtils.kt rename to plugins/camera/android/src/main/java/ImageUtils.kt diff --git a/plugins/camera/build.rs b/plugins/camera/build.rs index 6a5bcf5d..743096a6 100644 --- a/plugins/camera/build.rs +++ b/plugins/camera/build.rs @@ -1,4 +1,4 @@ -// Copyright 2019-2022 Tauri Programme within The Commons Conservancy +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT diff --git a/plugins/camera/dist-js/index.min.js b/plugins/camera/dist-js/index.min.js index 0d04a010..be040db0 100644 --- a/plugins/camera/dist-js/index.min.js +++ b/plugins/camera/dist-js/index.min.js @@ -1,8 +1,103 @@ -var f$1=Object.defineProperty;var g=(a,b)=>{for(var c in b)f$1(a,c,{get:b[c],enumerable:!0});};var e=(a,b,c)=>{if(!b.has(a))throw TypeError("Cannot "+c)};var h$1=(a,b,c)=>(e(a,b,"read from private field"),c?c.call(a):b.get(a)),i$1=(a,b,c)=>{if(b.has(a))throw TypeError("Cannot add the same private member more than once");b instanceof WeakSet?b.add(a):b.set(a,c);},j=(a,b,c,d)=>(e(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c); +var f$1 = Object.defineProperty; +var g = (a, b) => { + for (var c in b) f$1(a, c, { + get: b[c], + enumerable: !0 + }); +}; +var e = (a, b, c) => { + if (!b.has(a)) throw TypeError("Cannot " + c) +}; +var h$1 = (a, b, c) => (e(a, b, "read from private field"), c ? c.call(a) : b.get(a)), + i$1 = (a, b, c) => { + if (b.has(a)) throw TypeError("Cannot add the same private member more than once"); + b instanceof WeakSet ? b.add(a) : b.set(a, c); + }, + j = (a, b, c, d) => (e(a, b, "write to private field"), d ? d.call(a, c) : b.set(a, c), c); -var h={};g(h,{Channel:()=>o,PluginListener:()=>a,addPluginListener:()=>m,convertFileSrc:()=>y,invoke:()=>u,transformCallback:()=>s});function f(){return window.crypto.getRandomValues(new Uint32Array(1))[0]}function s(n,e=!1){let t=f(),r=`_${t}`;return Object.defineProperty(window,r,{value:c=>(e&&Reflect.deleteProperty(window,r),n?.(c)),writable:!1,configurable:!0}),t}var i,o=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0;i$1(this,i,()=>{});this.id=s(e=>{h$1(this,i).call(this,e);});}set onmessage(e){j(this,i,e);}get onmessage(){return h$1(this,i)}toJSON(){return `__CHANNEL__:${this.id}`}};i=new WeakMap;var a=class{constructor(e,t,r){this.plugin=e,this.event=t,this.channelId=r;}async unregister(){return u(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function m(n,e,t){let r=new o;return r.onmessage=t,u(`plugin:${n}|register_listener`,{event:e,handler:r}).then(()=>new a(n,e,r.id))}async function u(n,e={},t){return new Promise((r,c)=>{let g=s(d=>{r(d),Reflect.deleteProperty(window,`_${_}`);},!0),_=s(d=>{c(d),Reflect.deleteProperty(window,`_${g}`);},!0);window.__TAURI_IPC__({cmd:n,callback:g,error:_,payload:e,options:t});})}function y(n,e="asset"){return window.__TAURI__.convertFileSrc(n,e)} +var h = {}; +g(h, { + Channel: () => o, + PluginListener: () => a, + addPluginListener: () => m, + convertFileSrc: () => y, + invoke: () => u, + transformCallback: () => s +}); -// Copyright 2019-2022 Tauri Programme within The Commons Conservancy +function f() { + return window.crypto.getRandomValues(new Uint32Array(1))[0] +} + +function s(n, e = !1) { + let t = f(), + r = `_${t}`; + return Object.defineProperty(window, r, { + value: c => (e && Reflect.deleteProperty(window, r), n ? .(c)), + writable: !1, + configurable: !0 + }), t +} +var i, o = class { + constructor() { + this.__TAURI_CHANNEL_MARKER__ = !0; + i$1(this, i, () => {}); + this.id = s(e => { + h$1(this, i).call(this, e); + }); + } + set onmessage(e) { + j(this, i, e); + } + get onmessage() { + return h$1(this, i) + } + toJSON() { + return `__CHANNEL__:${this.id}` + } +}; +i = new WeakMap; +var a = class { + constructor(e, t, r) { + this.plugin = e, this.event = t, this.channelId = r; + } + async unregister() { + return u(`plugin:${this.plugin}|remove_listener`, { + event: this.event, + channelId: this.channelId + }) + } +}; +async function m(n, e, t) { + let r = new o; + return r.onmessage = t, u(`plugin:${n}|register_listener`, { + event: e, + handler: r + }).then(() => new a(n, e, r.id)) +} +async function u(n, e = {}, t) { + return new Promise((r, c) => { + let g = s(d => { + r(d), Reflect.deleteProperty(window, `_${_}`); + }, !0), + _ = s(d => { + c(d), Reflect.deleteProperty(window, `_${g}`); + }, !0); + window.__TAURI_IPC__({ + cmd: n, + callback: g, + error: _, + payload: e, + options: t + }); + }) +} + +function y(n, e = "asset") { + return window.__TAURI__.convertFileSrc(n, e) +} + +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT var Source; @@ -23,8 +118,15 @@ var CameraDirection; CameraDirection["Front"] = "FRONT"; })(CameraDirection || (CameraDirection = {})); async function getPhoto(options) { - return await u("plugin:camera|getPhoto", { ...options }); + return await u("plugin:camera|getPhoto", { + ...options + }); } -export { CameraDirection, ResultType, Source, getPhoto }; -//# sourceMappingURL=index.min.js.map +export { + CameraDirection, + ResultType, + Source, + getPhoto +}; +//# sourceMappingURL=index.min.js.map \ No newline at end of file diff --git a/plugins/camera/dist-js/index.mjs b/plugins/camera/dist-js/index.mjs index 3855289e..cea1ae60 100644 --- a/plugins/camera/dist-js/index.mjs +++ b/plugins/camera/dist-js/index.mjs @@ -1,6 +1,8 @@ -import { invoke } from '@tauri-apps/api/tauri'; +import { + invoke +} from '@tauri-apps/api/tauri'; -// Copyright 2019-2022 Tauri Programme within The Commons Conservancy +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT var Source; @@ -21,8 +23,15 @@ var CameraDirection; CameraDirection["Front"] = "FRONT"; })(CameraDirection || (CameraDirection = {})); async function getPhoto(options) { - return await invoke("plugin:camera|getPhoto", { ...options }); + return await invoke("plugin:camera|getPhoto", { + ...options + }); } -export { CameraDirection, ResultType, Source, getPhoto }; -//# sourceMappingURL=index.mjs.map +export { + CameraDirection, + ResultType, + Source, + getPhoto +}; +//# sourceMappingURL=index.mjs.map \ No newline at end of file diff --git a/plugins/camera/guest-js/index.ts b/plugins/camera/guest-js/index.ts index a0858600..86ea1d97 100644 --- a/plugins/camera/guest-js/index.ts +++ b/plugins/camera/guest-js/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019-2022 Tauri Programme within The Commons Conservancy +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT import { invoke } from "@tauri-apps/api/tauri"; diff --git a/plugins/camera/src/error.rs b/plugins/camera/src/error.rs index 393cc95e..53aaca67 100644 --- a/plugins/camera/src/error.rs +++ b/plugins/camera/src/error.rs @@ -1,4 +1,4 @@ -// Copyright 2019-2022 Tauri Programme within The Commons Conservancy +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT @@ -8,17 +8,17 @@ pub type Result = std::result::Result; #[derive(Debug, thiserror::Error)] pub enum Error { - #[error(transparent)] - Io(#[from] std::io::Error), - #[error(transparent)] - PluginInvoke(#[from] tauri::plugin::mobile::PluginInvokeError), + #[error(transparent)] + Io(#[from] std::io::Error), + #[error(transparent)] + PluginInvoke(#[from] tauri::plugin::mobile::PluginInvokeError), } impl Serialize for Error { - fn serialize(&self, serializer: S) -> std::result::Result - where - S: Serializer, - { - serializer.serialize_str(self.to_string().as_ref()) - } + fn serialize(&self, serializer: S) -> std::result::Result + where + S: Serializer, + { + serializer.serialize_str(self.to_string().as_ref()) + } } diff --git a/plugins/camera/src/lib.rs b/plugins/camera/src/lib.rs index 4e028a45..c4a5e0c7 100644 --- a/plugins/camera/src/lib.rs +++ b/plugins/camera/src/lib.rs @@ -1,12 +1,12 @@ -// Copyright 2019-2022 Tauri Programme within The Commons Conservancy +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT #![cfg(mobile)] use tauri::{ - plugin::{Builder, PluginHandle, TauriPlugin}, - Manager, Runtime, + plugin::{Builder, PluginHandle, TauriPlugin}, + Manager, Runtime, }; pub use models::*; @@ -24,35 +24,34 @@ tauri::ios_plugin_binding!(init_plugin_camera); pub struct Camera(PluginHandle); impl Camera { - pub fn get_photo(&self, options: ImageOptions) -> Result { - self - .0 - .run_mobile_plugin("getPhoto", options) - .map_err(Into::into) - } + pub fn get_photo(&self, options: ImageOptions) -> Result { + self.0 + .run_mobile_plugin("getPhoto", options) + .map_err(Into::into) + } } /// Extensions to [`tauri::App`], [`tauri::AppHandle`] and [`tauri::Window`] to access the camera APIs. pub trait CameraExt { - fn camera(&self) -> &Camera; + fn camera(&self) -> &Camera; } impl> CameraExt for T { - fn camera(&self) -> &Camera { - self.state::>().inner() - } + fn camera(&self) -> &Camera { + self.state::>().inner() + } } /// Initializes the plugin. pub fn init() -> TauriPlugin { - Builder::new("camera") - .setup(|app, api| { - #[cfg(target_os = "android")] - let handle = api.register_android_plugin(PLUGIN_IDENTIFIER, "CameraPlugin")?; - #[cfg(target_os = "ios")] - let handle = api.register_ios_plugin(init_plugin_camera)?; - app.manage(Camera(handle)); - Ok(()) - }) - .build() + Builder::new("camera") + .setup(|app, api| { + #[cfg(target_os = "android")] + let handle = api.register_android_plugin(PLUGIN_IDENTIFIER, "CameraPlugin")?; + #[cfg(target_os = "ios")] + let handle = api.register_ios_plugin(init_plugin_camera)?; + app.manage(Camera(handle)); + Ok(()) + }) + .build() } diff --git a/plugins/camera/src/models.rs b/plugins/camera/src/models.rs index 65294857..6366dec3 100644 --- a/plugins/camera/src/models.rs +++ b/plugins/camera/src/models.rs @@ -1,4 +1,4 @@ -// Copyright 2019-2022 Tauri Programme within The Commons Conservancy +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT