All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.jobs.adapter.SOUsersAdapter Maven / Gradle / Ivy

package com.github.jobs.adapter;

import android.content.Context;
import android.graphics.Bitmap;
import android.os.Handler;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.codeslap.groundy.adapter.Layout;
import com.codeslap.groundy.adapter.ListBaseAdapter;
import com.codeslap.groundy.adapter.ResourceId;
import com.github.jobs.R;
import com.github.jobs.bean.SOUser;
import com.telly.wasp.BitmapHelper;
import com.telly.wasp.BitmapObserver;
import com.telly.wasp.BitmapUtils;

/**
 * @author cristian
 * @version 1.0
 */
public class SOUsersAdapter extends ListBaseAdapter {

    private final Handler mUiHandler;

    public SOUsersAdapter(Context context) {
        super(context, SOUserViewHolder.class);
        mUiHandler = new Handler();
    }

    @Override
    public long getItemId(int position) {
        return getItem(position).getId();
    }

    @Override
    public void populateHolder(int position, View view, ViewGroup parent, SOUser item, SOUserViewHolder holder) {
        BitmapHelper bitmapHelper = BitmapHelper.getInstance();
        String avatarUrl = item.getProfileImage();
        Bitmap bitmap = bitmapHelper.getBitmap(avatarUrl);
        if (BitmapUtils.isBitmapValid(bitmap)) {
            holder.avatar.setImageBitmap(bitmap);
        } else {
            holder.avatar.setImageResource(R.drawable.ic_default_avatar);
            BitmapObserver observer = new BitmapObserver(holder.avatar, avatarUrl, mUiHandler);
            bitmapHelper.registerBitmapObserver(getContext(), observer);
        }
        holder.username.setText(item.getDisplayName());
        holder.reputation.setText("Reputation: " + item.getReputation());
    }

    @Layout(R.layout.so_user_row)
    public static class SOUserViewHolder {
        @ResourceId(R.id.img_user_avatar)
        ImageView avatar;
        @ResourceId(R.id.lbl_username)
        TextView username;
        @ResourceId(R.id.lbl_reputation)
        TextView reputation;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy