public override View GetView(int position, View view, ViewGroup parent)
        {
            ViewHolder viewHolder;

            if (view == null)
            {
                viewHolder = new ViewHolder();
                view       = layoutInflater.Inflate(Resource.Layout.payment_method_list, parent, false);
                viewHolder.paymentMethodNameView = (TextView)view.FindViewById(Resource.Id.paymentMethodName);
                viewHolder.imageView             = (ImageView)view.FindViewById(Resource.Id.paymentMethodLogo);
                view.Tag = viewHolder;
            }
            else
            {
                viewHolder = (ViewHolder)view.Tag;
            }
            if (viewHolder != null)
            {
                if (viewHolder.paymentMethodNameView != null && viewHolder.imageView != null)
                {
                    viewHolder.paymentMethodNameView.Text = paymentMethods[position].Name;
                    Bitmap defaultImage = null;
                    AsyncImageDownloader.DownloadImage(context, viewHolder.imageView,
                                                       paymentMethods[position].LogoUrl, defaultImage);
                }
            }
            return(view);
        }
        public override View GetView(int position, View view, ViewGroup parent)
        {
            ViewHolder viewHolder;

            if (view == null)
            {
                viewHolder = new ViewHolder();
                LayoutInflater inflater = (LayoutInflater)context.GetSystemService(Context.LayoutInflaterService);

                view = inflater.Inflate(Resource.Layout.payment_method_list, parent, false);

                viewHolder.paymentMethodNameView = (TextView)view.FindViewById(Resource.Id.paymentMethodName);
                viewHolder.imageView             = (ImageView)view.FindViewById(Resource.Id.paymentMethodLogo);
                view.Tag = viewHolder;
            }
            else
            {
                viewHolder = (ViewHolder)view.Tag;
            }

            viewHolder.paymentMethodNameView.Text = issuers[position].Name;
            AsyncImageDownloader.DownloadImage(context, viewHolder.imageView, issuers[position].ImageUrl, null);
            return(view);
        }
        private void CreateBuilder(IMediaItem mediaItem)
        {
            var builder = new Notification.Builder(Application.Context, channelId);

            builder.SetChannelId(channelId);

            //Configure builder
            builder.SetContentTitle(mediaItem.Title);
            builder.SetContentText(mediaItem.Artist);
            builder.SetWhen(0);

            if (AndroidAudioPlayer.SharedInstance.IsPlaying)
            {
                builder.SetOngoing(true);
                builder.SetSmallIcon(Android.Resource.Drawable.IcMediaPlay);
            }
            else
            {
                builder.SetOngoing(false);
                Intent        dismissIntent        = new Intent(ButtonEvents.AudioControlsDestroy);
                PendingIntent dismissPendingIntent = PendingIntent.GetBroadcast(Application.Context, 1, dismissIntent, 0);
                builder.SetDeleteIntent(dismissPendingIntent);
                builder.SetSmallIcon(Android.Resource.Drawable.IcMediaPause);
            }

            //If 5.0 >= set the controls to be visible on lockscreen
            if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
            {
                builder.SetVisibility(NotificationVisibility.Public);
            }

            if (!string.IsNullOrWhiteSpace(mediaItem.AlbumArtUrl))
            {
                try
                {
                    var bitmap = new AsyncImageDownloader().Execute(new string[] { mediaItem.AlbumArtUrl });
                    builder.SetLargeIcon(bitmap.GetResult());
                }
                catch (Java.Lang.Exception exc)
                {
                    Console.WriteLine($"Unable to find Album Art URL for {mediaItem.AlbumArtUrl}");
                    Console.WriteLine(exc.ToString());
                }
            }

            Intent resultIntent = new Intent(Application.Context, typeof(Activity));

            resultIntent.SetAction(Intent.ActionMain);
            resultIntent.AddCategory(Intent.CategoryLauncher);
            PendingIntent resultPendingIntent = PendingIntent.GetActivity(Application.Context, 0, resultIntent, PendingIntentFlags.UpdateCurrent);

            builder.SetContentIntent(resultPendingIntent);

            //Controls
            var controlsCount = 0;

            // Previous
            controlsCount++;
            builder.AddAction(previousAction);

            // Play/Pause
            builder.AddAction(pauseAction);

            // Next
            controlsCount++;
            builder.AddAction(nextAction);

            // Close
            //controlsCount++;
            //builder.AddAction(destroyAction);

            // If 5.0 >= use MediaStyle
            if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
            {
                int[] args = new int[controlsCount];
                for (int i = 0; i < controlsCount; ++i)
                {
                    args[i] = i;
                }
                var style = new Notification.MediaStyle();
                style.SetShowActionsInCompactView(args);
                builder.SetStyle(style);
            }
            notificationBuilder = builder;
        }