Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1034415 authored by Yun-hao Chung's avatar Yun-hao Chung Committed by Automerger Merge Worker
Browse files

Merge "Floss: Add gatt client commands in btclient" am: 81e7fc4e am:...

Merge "Floss: Add gatt client commands in btclient" am: 81e7fc4e am: 28916a35 am: 86b70038 am: 4326422e am: 919be8a1

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2184582



Change-Id: I1f42c656de6db83287e8d5a2f701c72c7228a08f
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 2c74e7fc 919be8a1
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
@@ -134,6 +134,8 @@ fn build_commands() -> HashMap<String, CommandOption> {
                String::from("gatt client-connect <address>"),
                String::from("gatt client-read-phy <address>"),
                String::from("gatt client-discover-services <address>"),
                String::from("gatt client-disconnect <address>"),
                String::from("gatt configure-mtu <address> <mtu>"),
            ],
            description: String::from("GATT tools"),
            function_pointer: CommandHandler::cmd_gatt,
@@ -679,6 +681,27 @@ impl CommandHandler {
                    1,
                );
            }
            "client-disconnect" => {
                if args.len() < 3 {
                    println!("usage: gatt client-disconnect <addr>");
                    return;
                }

                let client_id = self.context.lock().unwrap().gatt_client_id;
                if client_id.is_none() {
                    println!("GATT client is not yet registered.");
                    return;
                }

                let addr = String::from(&args[1]);
                self.context
                    .lock()
                    .unwrap()
                    .gatt_dbus
                    .as_ref()
                    .unwrap()
                    .client_disconnect(client_id.unwrap(), addr);
            }
            "client-read-phy" => {
                if args.len() < 2 {
                    println!("usage: gatt client-read-phy <addr>");
@@ -721,6 +744,30 @@ impl CommandHandler {
                    .unwrap()
                    .discover_services(client_id.unwrap(), addr);
            }
            "configure-mtu" => {
                if args.len() < 4 {
                    println!("usage: gatt configure-mtu <addr> <mtu>");
                    return;
                }

                let client_id = self.context.lock().unwrap().gatt_client_id;
                if client_id.is_none() {
                    println!("GATT client is not yet registered.");
                    return;
                }

                let addr = String::from(&args[1]);
                let mtu = String::from(&args[2]).parse::<i32>();
                if let Ok(m) = mtu {
                    self.context.lock().unwrap().gatt_dbus.as_ref().unwrap().configure_mtu(
                        client_id.unwrap(),
                        addr,
                        m,
                    );
                } else {
                    print_error!("Failed parsing mtu");
                }
            }
            _ => {
                println!("Invalid argument '{}'", args[0]);
            }