use crate::{error::*, types::AndroidSdk};
use std::process::Command;
fn logcat_cmd(sdk: &AndroidSdk) -> Result<Command> {
let mut adb = sdk.platform_tool(bin!("adb"))?;
adb.arg("logcat");
Ok(adb)
}
pub fn attach_logger_only_rust(sdk: &AndroidSdk) -> Result<()> {
let mut adb = logcat_cmd(sdk)?;
adb.arg("RustStdoutStderr:D")
.arg("SAPP:D")
.arg("Crossbow:D")
.arg("CrossbowPlugin:D")
.arg("*:S");
adb.spawn()?.wait()?;
Ok(())
}
pub fn attach_logger_only_app(sdk: &AndroidSdk) -> Result<()> {
let mut adb_shell = sdk.platform_tool(bin!("adb"))?;
adb_shell.args(["shell", "pidof", "-s", "com.crossbow.game"]);
let res = adb_shell.output()?.stdout;
let pid = String::from_utf8_lossy(&res).to_string();
let mut adb = logcat_cmd(sdk)?;
adb.arg("--pid").arg(pid.trim());
adb.spawn()?.wait()?;
Ok(())
}