// Path: phial-overlay/src/main/java/com/mindcoders/phial/ShareDescription.java
// public class ShareDescription {
//     private final Drawable drawable;
//     private final CharSequence label;
// 
//     /**
//      * @param drawable icon that will be displayed with share option
//      * @param label    label for share option
//      */
//     public ShareDescription(Drawable drawable, CharSequence label) {
//         this.drawable = drawable;
//         this.label = label;
//     }
// 
//     /**
//      * @param context     android context that will be used to load icon and title
//      * @param drawableRes drawableId that will be displayed with share option
//      * @param label       labelId for share option
//      */
//     public ShareDescription(Context context, @DrawableRes int drawableRes, @StringRes int label) {
//         this(ContextCompat.getDrawable(context, drawableRes), context.getString(label));
//     }
// 
//     public Drawable getDrawable() {
//         return drawable;
//     }
// 
//     public CharSequence getLabel() {
//         return label;
//     }
// }


import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.mindcoders.phial.R;
import com.mindcoders.phial.ShareDescription;
import java.util.List;
    public View getView(int position, View convertView, ViewGroup parent) {
        final ViewHolder viewHolder;
        if (convertView != null) {
            viewHolder = (ViewHolder) convertView.getTag();
        } else {
            convertView = inflater.inflate(R.layout.listitem_share, parent, false);
            viewHolder = ViewHolder.create(convertView);
            convertView.setTag(viewHolder);
        }
        viewHolder.bind(getItem(position));
        return convertView;
    }


    private static class ViewHolder {
        private final ImageView icon;
        private final TextView name;

        ViewHolder(ImageView icon, TextView name) {
            this.icon = icon;
            this.name = name;
        }

        static ViewHolder create(View convertView) {
            TextView name = convertView.findViewById(R.id.name);
            ImageView icon = convertView.findViewById(R.id.icon);
            return new ViewHolder(icon, name);
        }

        void bind(ShareItem shareItem) {
// Path: phial-overlay/src/main/java/com/mindcoders/phial/ShareDescription.java
// public class ShareDescription {
//     private final Drawable drawable;
//     private final CharSequence label;
// 
//     /**
//      * @param drawable icon that will be displayed with share option
//      * @param label    label for share option
//      */
//     public ShareDescription(Drawable drawable, CharSequence label) {
//         this.drawable = drawable;
//         this.label = label;
//     }
// 
//     /**
//      * @param context     android context that will be used to load icon and title
//      * @param drawableRes drawableId that will be displayed with share option
//      * @param label       labelId for share option
//      */
//     public ShareDescription(Context context, @DrawableRes int drawableRes, @StringRes int label) {
//         this(ContextCompat.getDrawable(context, drawableRes), context.getString(label));
//     }
// 
//     public Drawable getDrawable() {
//         return drawable;
//     }
// 
//     public CharSequence getLabel() {
//         return label;
//     }
// }


// Path: phial-overlay/src/main/java/com/mindcoders/phial/internal/share/ShareAdapter.java
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.mindcoders.phial.R;
import com.mindcoders.phial.ShareDescription;
import java.util.List;

    public View getView(int position, View convertView, ViewGroup parent) {
        final ViewHolder viewHolder;
        if (convertView != null) {
            viewHolder = (ViewHolder) convertView.getTag();
        } else {
            convertView = inflater.inflate(R.layout.listitem_share, parent, false);
            viewHolder = ViewHolder.create(convertView);
            convertView.setTag(viewHolder);
        }
        viewHolder.bind(getItem(position));
        return convertView;
    }


    private static class ViewHolder {
        private final ImageView icon;
        private final TextView name;

        ViewHolder(ImageView icon, TextView name) {
            this.icon = icon;
            this.name = name;
        }

        static ViewHolder create(View convertView) {
            TextView name = convertView.findViewById(R.id.name);
            ImageView icon = convertView.findViewById(R.id.icon);
            return new ViewHolder(icon, name);
        }

        void bind(ShareItem shareItem) {
            final ShareDescription description = shareItem.getDescription();