void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (getPidOp != null)
         {
             getPidOp.Dispose();
             getPidOp = null;
         }
         if (trackLogOp != null)
         {
             trackLogOp.Dispose();
             trackLogOp = null;
         }
     }
 }
        void StartLogTracking()
        {
            var args = new ProcessArgumentBuilder();

            args.Add("-v time");
            foreach (string tag in excludedLogTags)
            {
                args.Add(tag + ":S");
            }

            trackLogOp            = new AdbTrackLogOperation(device, ProcessLogLine, args.ToString());
            trackLogOp.Completed += delegate(IAsyncOperation op) {
                if (!op.Success)
                {
                    SetCompleted(false);
                }
            };
        }
		void Dispose (bool disposing)
		{
			if (disposing) {
				if (getPidOp != null) {
					getPidOp.Dispose ();
					getPidOp = null;
				}
				if (trackLogOp != null) {
					trackLogOp.Dispose ();
					trackLogOp = null;
				}
			}
		}
		void StartLogTracking ()
		{
			var args = new ProcessArgumentBuilder ();
			args.Add ("-v time");
			foreach (string tag in excludedLogTags)
				args.Add (tag + ":S");

			trackLogOp = new AdbTrackLogOperation (device, ProcessLogLine, args.ToString ());
			trackLogOp.Completed += delegate (IAsyncOperation op) {
				if (!op.Success) {
					SetCompleted (false);
				}
			};
		}
		void StartTracking ()
		{
			getPidOp = new AdbGetProcessIdOperation (device, packageName);
			getPidOp.Completed += RefreshPid;

			trackLogOp = new AdbTrackLogOperation (device, ProcessLogLine);
			trackLogOp.Completed += delegate (IAsyncOperation op) {
				if (!op.Success) {
					SetCompleted (false);
				}
			};
		}