void LoadTabIconForItem(ActivityItem view, TabType type, int versionNumber) { ImageView itemPicture = view.FindViewById <ImageView> (Resource.Id.ItemPicture); if (view.CurrentTabType != type.Name) { itemPicture.SetImageBitmap(type.Image); } }
void LoadMapForItem(ActivityItem view, Tuple <double, double> latLng, int versionNumber) { FadeImageView mapView = view.FindViewById <FadeImageView> (Resource.Id.MapPicture); string url = BuildMapUrl(latLng, mapWidth, MapHeight); if (url == view.CurrentMapUri) { return; } Bitmap map = null; if (cache.TryGet(url, out map)) { mapView.SetImageBitmap(map, true); view.CurrentMapUri = url; view.CurrentMapCoordinates = latLng; } else { mapView.SetImageBitmap(NoMapPicture); Action doMapSetting = () => { if (view.VersionNumber != versionNumber) { return; } activity.RunOnUiThread(() => { if (view.VersionNumber != versionNumber) { return; } if (map == null) { cache.TryGet(url, out map); } mapView.SetImageBitmap(map, true); view.CurrentMapUri = url; view.CurrentMapCoordinates = latLng; }); }; if (pendingFetch.ContainsKey(url)) { pendingFetch [url].ContinueWith(t => doMapSetting(), TaskContinuationOptions.ExecuteSynchronously); } else { pendingFetch[url] = SerialScheduler.Factory.StartNew(() => { map = DownloadoCacher(url); doMapSetting(); }); } } }
ActivityItem EnsureView(ViewGroup root, View convertView) { if (convertView != null) { return((ActivityItem)convertView); } var activityView = new ActivityItem(activity); activityView.ItemExpanded += (v, expanded) => { if (expanded) { LoadMapForItem(v, v.CurrentMapCoordinates, v.VersionNumber); } }; return(activityView); }
ActivityItem GetActivityItemFromChildView(View v) { if (v == null) { return(null); } ActivityItem item = v as ActivityItem; if (item != null) { return(item); } var parent = v.Parent; while (parent != null && (item = parent as ActivityItem) == null) { parent = parent.Parent; } return(item); }
void LoadTabIconForItem(ActivityItem view, TabType type, int versionNumber) { ImageView itemPicture = view.FindViewById<ImageView> (Resource.Id.ItemPicture); if (view.CurrentTabType != type.Name) itemPicture.SetImageBitmap (type.Image); }
void LoadMapForItem(ActivityItem view, Tuple<double, double> latLng, int versionNumber) { FadeImageView mapView = view.FindViewById<FadeImageView> (Resource.Id.MapPicture); string url = BuildMapUrl (latLng, mapWidth, MapHeight); if (url == view.CurrentMapUri) return; Bitmap map = null; if (cache.TryGet (url, out map)) { mapView.SetImageBitmap (map, true); view.CurrentMapUri = url; view.CurrentMapCoordinates = latLng; } else { mapView.SetImageBitmap (NoMapPicture); Action doMapSetting = () => { if (view.VersionNumber != versionNumber) return; activity.RunOnUiThread (() => { if (view.VersionNumber != versionNumber) return; if (map == null) cache.TryGet (url, out map); mapView.SetImageBitmap (map, true); view.CurrentMapUri = url; view.CurrentMapCoordinates = latLng; }); }; if (pendingFetch.ContainsKey (url)) pendingFetch [url].ContinueWith (t => doMapSetting (), TaskContinuationOptions.ExecuteSynchronously); else pendingFetch[url] = SerialScheduler.Factory.StartNew (() => { map = DownloadoCacher (url); doMapSetting (); }); } }
ActivityItem EnsureView(ViewGroup root, View convertView) { if (convertView != null) return (ActivityItem)convertView; var activityView = new ActivityItem (activity); activityView.ItemExpanded += (v, expanded) => { if (expanded) LoadMapForItem (v, v.CurrentMapCoordinates, v.VersionNumber); }; return activityView; }