Example #1
0
        public static List <string> AmInstrument(this ICakeContext context, string component, AmInstrumentOptions options = null, AdbToolSettings settings = null)
        {
            var t = GetAdbTool(context);

            return(t.Instrument(component, options, settings));
        }
Example #2
0
        public List <string> Instrument(string component, AmInstrumentOptions options = null, AdbToolSettings settings = null)
        {
            // instrument [options] component
            if (settings == null)
            {
                settings = new AdbToolSettings();
            }
            if (options == null)
            {
                options = new AmInstrumentOptions();
            }

            var builder = new ProcessArgumentBuilder();

            AddSerial(settings.Serial, builder);

            builder.Append("shell");
            builder.Append("am");

            builder.Append("instrument");

            if (options.PrintRawResults)
            {
                builder.Append("-r");
            }

            foreach (var kvp in options.KeyValues)
            {
                var v = string.Join(",", kvp.Value);
                builder.Append("-e {0} {1}", kvp.Key, v);
            }

            if (options.ProfileToFile != null)
            {
                builder.Append("-p");
                builder.AppendQuoted(options.ProfileToFile.MakeAbsolute(environment).FullPath);
            }

            if (options.Wait)
            {
                builder.Append("-w");
            }

            if (options.NoWindowAnimation)
            {
                builder.Append("--no-window-animation");
            }


            if (!string.IsNullOrEmpty(options.RunAsUser))
            {
                builder.Append("--user");
                builder.Append(options.RunAsUser);
            }

            builder.Append(component);

            var output = new List <string>();

            RunAdb(settings, builder, out output);
            return(output);
        }