diff --git a/android/src/main/java/BluclasPlugin.kt b/android/src/main/java/BluclasPlugin.kt index a74b511..e36b125 100644 --- a/android/src/main/java/BluclasPlugin.kt +++ b/android/src/main/java/BluclasPlugin.kt @@ -11,6 +11,7 @@ import app.tauri.annotation.InvokeArg import app.tauri.annotation.Permission import app.tauri.annotation.TauriPlugin import app.tauri.plugin.Invoke +import app.tauri.plugin.JSArray import app.tauri.plugin.JSObject import app.tauri.plugin.Plugin import java.io.OutputStream @@ -45,17 +46,17 @@ class BluclasPlugin(private val activity: Activity) : Plugin(activity) { return } - println("KOTLIN") - val daftar_res = adapter.bondedDevices.map { i -> - mapOf( - "nama" to (i.name ?: "Unknown"), - "alamat" to i.address - ) + val daftarRes = JSArray() + adapter.bondedDevices.map { i -> + val res = JSObject() + res.put("nama", i.name ?: "Unknown") + res.put("alamat", i.address) + daftarRes.put(res) } - val objek_daftar_res = JSObject() - objek_daftar_res.put("data", daftar_res) - invoke.resolve(objek_daftar_res) + val objekDaftarRes = JSObject() + objekDaftarRes.put("data", daftarRes) + invoke.resolve(objekDaftarRes) } fun menghubungkanKoneksi(invoke: Invoke, alamat: String) { diff --git a/src/commands.rs b/src/commands.rs index 996abcf..9900ebd 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -7,14 +7,14 @@ use crate::Result; #[command] pub(crate) async fn daftar_perangkat( app: AppHandle, -) -> Result> { +) -> Result { return app.bluclas().daftar_perangkat(); } #[command] pub(crate) async fn kirim( app: AppHandle, - payload: SBluetoothClassicMuatanKirim, + payload: SBlueclasClassicMuatanKirim, ) -> Result<()> { return app.bluclas().kirim(payload); } diff --git a/src/desktop.rs b/src/desktop.rs index a95b344..14e0453 100644 --- a/src/desktop.rs +++ b/src/desktop.rs @@ -14,16 +14,11 @@ pub fn init( pub struct Bluclas(AppHandle); impl Bluclas { - pub fn daftar_perangkat(&self) -> crate::Result> { - let daftar_res: Vec = - vec![SBluetoothClassicResponPerangkat { - nama: String::new(), - alamat: String::new(), - }]; - return Ok(daftar_res); + pub fn daftar_perangkat(&self) -> crate::Result { + return Ok(SBlueclasClassicResponDaftarPerangkat { data: vec![] }); } - pub fn kirim(&self, _: SBluetoothClassicMuatanKirim) -> crate::Result<()> { + pub fn kirim(&self, _: SBlueclasClassicMuatanKirim) -> crate::Result<()> { return Ok(()); } } diff --git a/src/mobile.rs b/src/mobile.rs index 311e47e..d9045ad 100644 --- a/src/mobile.rs +++ b/src/mobile.rs @@ -25,14 +25,14 @@ pub fn init( pub struct Bluclas(PluginHandle); impl Bluclas { - pub fn daftar_perangkat(&self) -> crate::Result> { + pub fn daftar_perangkat(&self) -> crate::Result { return self .0 .run_mobile_plugin("daftarPerangkat", ()) .map_err(Into::into); } - pub fn kirim(&self, payload: SBluetoothClassicMuatanKirim) -> crate::Result<()> { + pub fn kirim(&self, payload: SBlueclasClassicMuatanKirim) -> crate::Result<()> { return self .0 .run_mobile_plugin("kirim", payload) diff --git a/src/models.rs b/src/models.rs index 42c5b61..285d0b2 100644 --- a/src/models.rs +++ b/src/models.rs @@ -2,14 +2,20 @@ use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] -pub struct SBluetoothClassicResponPerangkat { +pub struct SDaftarPerangkatBlueclasClassicResponDaftarPerangkat { pub nama: String, pub alamat: String, } +#[derive(Debug, Clone, Default, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct SBlueclasClassicResponDaftarPerangkat { + pub data: Vec, +} + #[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] -pub struct SBluetoothClassicMuatanKirim { +pub struct SBlueclasClassicMuatanKirim { pub alamat: String, pub data: Vec, }