private static void OnDeviceStateEvent(AdbState state) { if (DeviceStateEvent != null) { DeviceStateEvent(state); } }
/// <summary> /// Returns the current ADB state /// </summary> /// <returns></returns> public static AdbState GetState() { ManualResetEvent mre = new ManualResetEvent(false); AdbState ret = AdbState.Unknown; CConsole.GCFM("state").OutputReceived += (output, e) => { switch (output) { case "offline": ret = AdbState.Offline; mre.Set(); break; case "bootloader": ret = AdbState.Bootloader; mre.Set(); break; case "device": ret = AdbState.Device; mre.Set(); break; case "unknown": mre.Set(); break; } }; CConsole.GCFM("state").ExecuteCommand("adb get-state"); mre.WaitOne(); /*switch (Status) * { * case "offline": ret = AdbState.Offline; mre.Set(); break; * case "bootloader": ret = AdbState.Bootloader; mre.Set(); break; * case "device": ret = AdbState.Device; mre.Set(); break; * }*/ return(ret); }
private static void T_Tick(object sender, EventArgs e) { pStatus = Status; Status = GetState(); if (pStatus != Status) { OnDeviceStateEvent(Status); } }
public async Task GetState(string[] output, AdbState state) { // arrange var processManager = new TestProcessManager(); processManager.AddProcess(output); var adb = new Adb(processManager); var result = await adb.GetState(); processManager.Stub.AssertWasCalled(_ => _.CreateProcess(Arg <string> .Is.Anything, Arg <string> .Matches(commands => commands.Contains("get-state")))); Assert.IsTrue(result == state); }
public void WaitFor(AdbTransport transport = AdbTransport.Any, AdbState state = AdbState.Device, AdbToolSettings settings = null) { if (settings == null) { settings = new AdbToolSettings(); } // adb wait-for[-<transport>]-<state> // transport: usb, local, or any (default) // state: device, recovery, sideload, bootloader var builder = new ProcessArgumentBuilder(); AddSerial(settings.Serial, builder); var x = "wait-for"; if (transport == AdbTransport.Local) { x = "-local"; } else if (transport == AdbTransport.Usb) { x = "-usb"; } switch (state) { case AdbState.Bootloader: x += "-bootloader"; break; case AdbState.Device: x += "-device"; break; case AdbState.Recovery: x += "-recovery"; break; case AdbState.Sideload: x += "-sideload"; break; } builder.Append(x); Run(settings, builder); }
public void WaitFor(AdbTransport transport = AdbTransport.Any, AdbState state = AdbState.Device, string adbSerial = null) { // adb wait-for[-<transport>]-<state> // transport: usb, local, or any (default) // state: device, recovery, sideload, bootloader var builder = new ProcessArgumentBuilder(); runner.AddSerial(adbSerial, builder); var x = "wait-for"; if (transport == AdbTransport.Local) { x = "-local"; } else if (transport == AdbTransport.Usb) { x = "-usb"; } switch (state) { case AdbState.Bootloader: x += "-bootloader"; break; case AdbState.Device: x += "-device"; break; case AdbState.Recovery: x += "-recovery"; break; case AdbState.Sideload: x += "-sideload"; break; } builder.Append(x); runner.RunAdb(AndroidSdkHome, builder); }
public static void AdbWaitFor(this ICakeContext context, AdbTransport transport = AdbTransport.Any, AdbState state = AdbState.Device, AdbToolSettings settings = null) { var t = GetAdbTool(context); t.WaitFor(transport, state, settings); }
private static void Update() { pStatus = Status; Status = GetState(); if (pStatus != Status) { OnDeviceStateEvent(Status); } if (GetState() == AdbState.Device) { AnyDevice = true; } else { AnyDevice = false; SelectedDeviceSerial = null; } if (AnyDevice && SelectedDeviceSerial != null && IsDevicePresent(SelectedDeviceSerial)) ; // Any better way of doing this? else { if (AnyDevice) SelectedDeviceSerial = GetAllDevices()[0]; else SelectedDeviceSerial = null; } }
private static void T_Tick(object sender, EventArgs e) { pStatus = Status; Status = GetState(); if (pStatus != Status) OnDeviceStateEvent(Status); }