Mengubah daftar respon dari map ke jsarray #3

Merged
rizky_denianto merged 4 commits from pengembangan into main 2026-04-14 23:26:00 +07:00
5 changed files with 25 additions and 17 deletions
Showing only changes of commit 25ce630e0d - Show all commits
+4 -4
View File
@@ -45,16 +45,16 @@ class BluclasPlugin(private val activity: Activity) : Plugin(activity) {
return return
} }
val daftar_res = adapter.bondedDevices.map { i -> val daftarRes = adapter.bondedDevices.map { i ->
mapOf( mapOf(
"nama" to (i.name ?: "Unknown"), "nama" to (i.name ?: "Unknown"),
"alamat" to i.address "alamat" to i.address
) )
} }
val objek_daftar_res = JSObject() val objekDaftarRes = JSObject()
objek_daftar_res.put("data", daftar_res) objekDaftarRes.put("data", daftarRes)
invoke.resolve(objek_daftar_res) invoke.resolve(objekDaftarRes)
} }
fun menghubungkanKoneksi(invoke: Invoke, alamat: String) { fun menghubungkanKoneksi(invoke: Invoke, alamat: String) {
+2 -2
View File
@@ -7,14 +7,14 @@ use crate::Result;
#[command] #[command]
pub(crate) async fn daftar_perangkat<R: Runtime>( pub(crate) async fn daftar_perangkat<R: Runtime>(
app: AppHandle<R>, app: AppHandle<R>,
) -> Result<Vec<SBluetoothClassicResponPerangkat>> { ) -> Result<SDaftarPerangkatBlueclasClassicResponDaftarPerangkat> {
return app.bluclas().daftar_perangkat(); return app.bluclas().daftar_perangkat();
} }
#[command] #[command]
pub(crate) async fn kirim<R: Runtime>( pub(crate) async fn kirim<R: Runtime>(
app: AppHandle<R>, app: AppHandle<R>,
payload: SBluetoothClassicMuatanKirim, payload: SBlueclasClassicMuatanKirim,
) -> Result<()> { ) -> Result<()> {
return app.bluclas().kirim(payload); return app.bluclas().kirim(payload);
} }
+8 -8
View File
@@ -14,16 +14,16 @@ pub fn init<R: Runtime, C: DeserializeOwned>(
pub struct Bluclas<R: Runtime>(AppHandle<R>); pub struct Bluclas<R: Runtime>(AppHandle<R>);
impl<R: Runtime> Bluclas<R> { impl<R: Runtime> Bluclas<R> {
pub fn daftar_perangkat(&self) -> crate::Result<Vec<SBluetoothClassicResponPerangkat>> { pub fn daftar_perangkat(
let daftar_res: Vec<SBluetoothClassicResponPerangkat> = &self,
vec![SBluetoothClassicResponPerangkat { ) -> crate::Result<SDaftarPerangkatBlueclasClassicResponDaftarPerangkat> {
nama: String::new(), return Ok(SDaftarPerangkatBlueclasClassicResponDaftarPerangkat {
alamat: String::new(), nama: String::new(),
}]; alamat: String::new(),
return Ok(daftar_res); });
} }
pub fn kirim(&self, _: SBluetoothClassicMuatanKirim) -> crate::Result<()> { pub fn kirim(&self, _: SBlueclasClassicMuatanKirim) -> crate::Result<()> {
return Ok(()); return Ok(());
} }
} }
+3 -1
View File
@@ -25,7 +25,9 @@ pub fn init<R: Runtime, C: DeserializeOwned>(
pub struct Bluclas<R: Runtime>(PluginHandle<R>); pub struct Bluclas<R: Runtime>(PluginHandle<R>);
impl<R: Runtime> Bluclas<R> { impl<R: Runtime> Bluclas<R> {
pub fn daftar_perangkat(&self) -> crate::Result<Vec<SBluetoothClassicResponPerangkat>> { pub fn daftar_perangkat(
&self,
) -> crate::Result<SDaftarPerangkatBlueclasClassicResponDaftarPerangkat> {
return self return self
.0 .0
.run_mobile_plugin("daftarPerangkat", ()) .run_mobile_plugin("daftarPerangkat", ())
+8 -2
View File
@@ -2,14 +2,20 @@ use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Deserialize, Serialize)] #[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct SBluetoothClassicResponPerangkat { pub struct SDaftarPerangkatBlueclasClassicResponDaftarPerangkat {
pub nama: String, pub nama: String,
pub alamat: String, pub alamat: String,
} }
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct SBlueclasClassicResponDaftarPerangkat {
pub data: Vec<SDaftarPerangkatBlueclasClassicResponDaftarPerangkat>,
}
#[derive(Debug, Deserialize, Serialize)] #[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct SBluetoothClassicMuatanKirim { pub struct SBlueclasClassicMuatanKirim {
pub alamat: String, pub alamat: String,
pub data: Vec<u8>, pub data: Vec<u8>,
} }