GitNex/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java

115 lines
3.2 KiB
Java
Raw Normal View History

2019-09-14 08:29:20 +02:00
package org.mian.gitnex.adapters;
import android.annotation.SuppressLint;
import android.content.Context;
2020-01-02 08:51:10 +01:00
import android.graphics.Typeface;
2019-09-14 08:29:20 +02:00
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 org.gitnex.tea4j.models.UserInfo;
2019-09-14 08:29:20 +02:00
import org.mian.gitnex.R;
import org.mian.gitnex.clients.PicassoService;
2019-09-14 08:29:20 +02:00
import org.mian.gitnex.helpers.RoundedTransformation;
import org.mian.gitnex.helpers.TinyDB;
2019-09-14 08:29:20 +02:00
import java.util.List;
/**
* Author M M Arif
*/
public class RepoWatchersAdapter extends BaseAdapter {
private List<UserInfo> watchersList;
private Context mCtx;
2020-03-04 15:54:21 +01:00
private static class ViewHolder {
2019-09-14 08:29:20 +02:00
private ImageView memberAvatar;
private TextView memberName;
ViewHolder(View v) {
memberAvatar = v.findViewById(R.id.memberAvatar);
memberName = v.findViewById(R.id.memberName);
}
}
public RepoWatchersAdapter(Context mCtx, List<UserInfo> membersListMain) {
this.mCtx = mCtx;
this.watchersList = membersListMain;
}
@Override
public int getCount() {
return watchersList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@SuppressLint("InflateParams")
@Override
public View getView(int position, View finalView, ViewGroup parent) {
RepoWatchersAdapter.ViewHolder viewHolder;
if (finalView == null) {
finalView = LayoutInflater.from(mCtx).inflate(R.layout.list_repo_watchers, null);
2020-03-04 15:54:21 +01:00
viewHolder = new ViewHolder(finalView);
2019-09-14 08:29:20 +02:00
finalView.setTag(viewHolder);
}
else {
viewHolder = (RepoWatchersAdapter.ViewHolder) finalView.getTag();
}
initData(viewHolder, position);
return finalView;
}
private void initData(RepoWatchersAdapter.ViewHolder viewHolder, int position) {
UserInfo currentItem = watchersList.get(position);
PicassoService.getInstance(mCtx).get().load(currentItem.getAvatar()).placeholder(R.drawable.loader_animated).transform(new RoundedTransformation(8, 0)).resize(180, 180).centerCrop().into(viewHolder.memberAvatar);
2019-09-14 08:29:20 +02:00
final TinyDB tinyDb = TinyDB.getInstance(mCtx);
2020-01-02 08:51:10 +01:00
Typeface myTypeface;
switch(tinyDb.getInt("customFontId", -1)) {
2020-01-02 08:51:10 +01:00
case 0:
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf");
break;
2020-01-02 08:51:10 +01:00
case 2:
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/sourcecodeproregular.ttf");
break;
2020-01-02 08:51:10 +01:00
default:
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/manroperegular.ttf");
break;
2020-01-02 08:51:10 +01:00
}
2019-09-14 08:29:20 +02:00
if(!currentItem.getFullname().equals("")) {
viewHolder.memberName.setText(currentItem.getFullname());
2020-01-02 08:51:10 +01:00
viewHolder.memberName.setTypeface(myTypeface);
2019-09-14 08:29:20 +02:00
}
else {
viewHolder.memberName.setText(currentItem.getLogin());
2020-01-02 08:51:10 +01:00
viewHolder.memberName.setTypeface(myTypeface);
2019-09-14 08:29:20 +02:00
}
}
}