Esempio n. 1
0
        protected override Android.Graphics.Bitmap RunInBackground(params Profile[] @params)
        {
            String imageUrl        = @params[0].imageUri;
            String userId          = @params[0].ID;
            Bitmap image           = null;
            bool   AvatarIsDefault = @params[0].AvatarIsDefault;

            if (imageUrl == null)
            {
                return(null);
            }

            try
            {
                byte[] data = OperationWithBitmap.Retrieve(context, userId);

                if (data == null)
                {
                    image = OperationWithBitmap.GetFromUrl(imageUrl);
                    var bitmapData = OperationWithBitmap.ConvertToByteArray(image);
                    OperationWithBitmap.Cache(context, bitmapData, userId);
                }
                else
                {
                    image = OperationWithBitmap.ConvertFromByteArray(data);
                }
            }
            catch (Exception e) { Console.Out.WriteLine(e.Message); }

            return(image);
        }
Esempio n. 2
0
        protected override Java.Lang.Void RunInBackground(params object[] @params)
        {
            if (@params[0].GetType() == typeof(HistoryListItem))
            {
                HistoryListItem historyItem = @params[0] as HistoryListItem;
                UsersDatabase   db          = new UsersDatabase();
                UserListItem    user        = db.GetUserByID(historyItem.fromUserID);

                try
                {
                    byte[] data = OperationWithBitmap.Retrieve(context, user.ID);

                    if (data == null)
                    {
                        Bitmap curImage = OperationWithBitmap.GetFromUrl(user.url);
                        //user.AvatarIsDefault = OperationWithBitmap.isDefault(curImage);
                        //if (!user.AvatarIsDefault)
                        //{
                        historyItem.image = curImage;
                        //}
                        var bitmapData = OperationWithBitmap.ConvertToByteArray(historyItem.image);
                        OperationWithBitmap.Cache(context, bitmapData, historyItem.ID);
                    }
                    else
                    {
                        //if (!user.AvatarIsDefault)
                        historyItem.image = OperationWithBitmap.ConvertFromByteArray(data);
                    }
                }
                catch (Exception e) { Console.Out.WriteLine(e.Message); }
            }
            else if (@params[0].GetType() == typeof(UserListItem))
            {
                UserListItem user            = @params[0] as UserListItem;
                bool         AvatarIsDefault = user.AvatarIsDefault;
                try
                {
                    byte[] data = OperationWithBitmap.Retrieve(context, user.ID);

                    if (data == null)
                    {
                        Bitmap curImage = OperationWithBitmap.GetFromUrl(user.url);
                        //user.AvatarIsDefault = OperationWithBitmap.isDefault(curImage);
                        //if (!user.AvatarIsDefault)
                        //{
                        user.image = curImage;
                        //    UsersDatabase db = new UsersDatabase();
                        //    db.UpdateAvatarState(user);
                        //}
                        var bitmapData = OperationWithBitmap.ConvertToByteArray(user.image);
                        OperationWithBitmap.Cache(context, bitmapData, user.ID);
                    }
                    else
                    {
                        //if (!user.AvatarIsDefault)
                        user.image = OperationWithBitmap.ConvertFromByteArray(data);
                    }
                }
                catch (Exception e) { Console.Out.WriteLine(e.Message); }
            }
            else
            {
                throw new Exception("Wrong ItemList type.");
            }
            return(null);
        }