public void WorkerThread() { int processed = 1; foreach(LocalProgram program in Queue) { OnStart(program, Queue.Count - processed); RemoteProgramHelper remoteProgramHelper = new RemoteProgramHelper(null); remoteProgramHelper.OnDownloadProgress += delegate(float amountDone) { OnProgress(program, amountDone); }; remoteProgramHelper.OnDownloadFinished += delegate() { OnEnd(program); }; remoteProgramHelper.DownloadLocalProgram(program); processed ++; } OnNoMoreItems(); }
public void SetTempImage(RemoteProgramHelper program) { program.TempCell.ImageView.Image = ImageHelper.TempImage; }
// Customize the appearance of table view cells. public override UITableViewCell GetCell(UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath) { string cellIdentifier = "Cell"; var cell = tableView.DequeueReusableCell (cellIdentifier); if (cell == null) { cell = new UITableViewCell (UITableViewCellStyle.Subtitle, cellIdentifier); } RemoteProgramHelper program = new RemoteProgramHelper(programs[indexPath.Row]); cell.TextLabel.Text = program.Program.Name; cell.DetailTextLabel.Text = program.Program.Description; cell.DetailTextLabel.Font = UIFont.SystemFontOfSize(IplayerConst.DetailTextLabelSize); if (program.DownloadedFileExists) { cell.Accessory = UITableViewCellAccessory.Checkmark; } else { cell.Accessory = UITableViewCellAccessory.DisclosureIndicator; } cell.ImageView.Alpha = 1.0f; GetImageForCell(cell, program); //cell.ImageView.Image = program.Image; return cell; }
public void GetImageForCell(UITableViewCell cell, RemoteProgramHelper program) { if (program.HasImage) { cell.ImageView.Image = program.Image; cell.ImageView.Alpha = 1.0f; return; } program.TempCell = cell; SetTempImage(program); ThreadPool.QueueUserWorkItem(RequestImage, program); }
public void DisplayImage(RemoteProgramHelper program) { program.TempCell.ImageView.Image = program.Image; //UIView.BeginAnimations("imageThumbnailTransitionIn"); //UIView.SetAnimationDuration(0.5f); program.TempCell.ImageView.Alpha = 1.0f; program.TempCell.SetNeedsDisplay(); //UIView.CommitAnimations(); program.TempCell = null; }