Exemplo n.º 1
0
        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();
                    });
                }
            }
        }
Exemplo n.º 2
0
        public override Android.Views.View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.TapBadge, container, false);

            icon = view.FindViewById <FadeImageView> (Resource.Id.BadgeIcon);
            icon.SetImageBitmap(contactPicture, false);
            title      = view.FindViewById <TextView> (Resource.Id.BadgeTitle);
            subtitle   = view.FindViewById <TextView> (Resource.Id.BadgeSubtitle);
            tapInset   = view.FindViewById <TextView> (Resource.Id.TapInset);
            infoLayout = view.FindViewById <LinearLayout> (Resource.Id.TapInfoLayout);

            SetupBadge(view);

            return(view);
        }
Exemplo n.º 3
0
        public override Android.Views.View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate (Resource.Layout.TapBadge, container, false);
            icon = view.FindViewById<FadeImageView> (Resource.Id.BadgeIcon);
            icon.SetImageBitmap (contactPicture, false);
            title = view.FindViewById<TextView> (Resource.Id.BadgeTitle);
            subtitle = view.FindViewById<TextView> (Resource.Id.BadgeSubtitle);
            tapInset = view.FindViewById<TextView> (Resource.Id.TapInset);
            infoLayout = view.FindViewById<LinearLayout> (Resource.Id.TapInfoLayout);

            SetupBadge (view);

            return view;
        }