Example #1
0
        public override Android.Views.View OnCreateView(Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Android.OS.Bundle savedInstanceState)
        {
            //			Console.WriteLine("[{0}] OnCreateView Called: {1}", TAG, DateTime.Now.ToLongTimeString());
            View v = inflater.Inflate(Resource.Layout.fragment_photo, container, false);

            mImageView = v.FindViewById<ImageView>(Resource.Id.photoView);

            photoUrl = Activity.Intent.GetStringExtra(PhotoGalleryFragment.PHOTO_URL_EXTRA);

            photoUrl = photoUrl.Substring(0, photoUrl.Length-6) + ".jpg";
            photoFilename = new FlickrFetchr().GetFilenameFromUrl(photoUrl);

            ProgressDialog pg = new ProgressDialog(Activity);
            pg.SetMessage(Resources.GetString(Resource.String.loading_photo_message));
            pg.SetTitle(Resources.GetString(Resource.String.loading_photo_title));
            pg.SetCancelable(false);
            pg.Show();

            Task.Run(async () => {
                Bitmap image = await new FlickrFetchr().GetImageBitmapAsync(photoUrl, 0, new CancellationTokenSource().Token, photoFilename).ConfigureAwait(false);
                Activity.RunOnUiThread(() => {
                    mImageView.SetImageBitmap(image);
                    //Console.WriteLine("[{0}] File created: {1}", TAG, photoUrl);
                    pg.Dismiss();
                });
            });

            return v;
        }
        public async Task UpdateItems()
        {
            if (this.Activity == null)
            {
                return;
            }
            ProgressDialog pg = new ProgressDialog(Activity);

            pg.SetMessage(Resources.GetString(Resource.String.loading_images_message));
            pg.SetTitle(Resources.GetString(Resource.String.loading_images_title));
            pg.SetCancelable(false);
            pg.Show();

            query = PreferenceManager.GetDefaultSharedPreferences(Activity).GetString(FlickrFetchr.PREF_SEARCH_QUERY, null);
            if (query != null && query != String.Empty)
            {
                lastQuery = query;
            }
            FlickrFetchr fetchr = new FlickrFetchr();

            if (query != null)
            {
                galleryItems = await fetchr.Search(query, currentPage.ToString());
            }
            else
            {
                galleryItems = await fetchr.Fetchitems(currentPage.ToString());
            }
//			foreach (GalleryItem item in galleryItems) {
//				Console.WriteLine("[{0}]\nPhoto Id: {1}\nCaption: {2}\nUrl: {3}", TAG, item.Id, item.Caption, item.Url);
//			}
            SetupAdapter();
            Toast.MakeText(Activity,
                           String.Format("{0} {1}: {2}",
                                         (query != null ? query + " " + Resources.GetString(Resource.String.search) : Resources.GetString(Resource.String.recent_photos)),
                                         Resources.GetString(Resource.String.results),
                                         fetchr.NumberOfHits),
                           ToastLength.Long)
            .Show();

            pg.Dismiss();
        }