public static void ExecuteSingleCommand(object parameter)
 {
     TwoCommandParameters parameters = parameter as TwoCommandParameters;
     if (parameters != null)
     {
         Context = parameters.Context;
         BackgroundWorker worker = new BackgroundWorker();
         worker.DoWork += async (sender, args) =>
         {
             await Context.Dispatcher.InvokeAsync(async () =>
             {
                 _adb = new AdbTools(Context);
                 var cmds = new string[1];
                 cmds[0] = parameters.Text;
                 await _adb.Execute(cmds, parameters.Bool, parameters.Target);
             });
         };
         worker.RunWorkerCompleted += (sender, args) => worker.Dispose();
         worker.RunWorkerAsync();
     }
 }
        public static void Execute(object parameter)
        {
            ExecuteCommandParameters parameters = parameter as ExecuteCommandParameters;
            if (parameters != null)
            {
                Context = parameters.Context;
                BackgroundWorker worker = new BackgroundWorker();
                worker.DoWork += async (sender, args) =>
                {
                    await Context.Dispatcher.InvokeAsync(async () =>
                    {
                        _adb = new AdbTools(Context);
                        var cmds = new List<string>
                        {
                            parameters.Text,
                            parameters.Text2,
                            parameters.Text3,
                            parameters.Text4,
                            parameters.Text5,
                            parameters.Text6,
                            parameters.Text7,
                            parameters.Text8,
                            parameters.Text9,
                            parameters.Text10
                        };
                        await _adb.Execute(cmds.ToArray<string>(), parameters.Bool, parameters.Target);
                    });
                };
                worker.RunWorkerCompleted += (sender, args) => worker.Dispose();
                worker.RunWorkerAsync();
            }

        }