Example #1
0
 private static void OnDeviceStateEvent(AdbState state)
 {
     if (DeviceStateEvent != null)
     {
         DeviceStateEvent(state);
     }
 }
Example #2
0
        /// <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);
        }
Example #3
0
 private static void T_Tick(object sender, EventArgs e)
 {
     pStatus = Status;
     Status  = GetState();
     if (pStatus != Status)
     {
         OnDeviceStateEvent(Status);
     }
 }
Example #4
0
        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);
        }
Example #6
0
        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);
        }
Example #8
0
        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;
            }
        }
Example #9
0
 private static void T_Tick(object sender, EventArgs e)
 {
     pStatus = Status;
     Status = GetState();
     if (pStatus != Status)
         OnDeviceStateEvent(Status);
 }
Example #10
0
 private static void OnDeviceStateEvent(AdbState state)
 {
     if (DeviceStateEvent != null)
     {
         DeviceStateEvent(state);
     }
 }