Skip to content
Snippets Groups Projects
Commit df633eb2 authored by John Carlson's avatar John Carlson
Browse files

Remove CircleImageView in favor of using a Picasso transform. Load images on comments Markdown

parent 308e607a
No related branches found
No related tags found
No related merge requests found
Showing
with 97 additions and 247 deletions
Loading
Loading
@@ -34,7 +34,6 @@ The following 3rd party libraries and resources are the reason this app works. R
- Parceler (https://github.com/johncarl81/parceler)
- Bypasses (https://github.com/Commit451/bypasses)
- Easel (https://github.com/Commit451/Easel)
- CircleImageView (https://github.com/hdodenhof/CircleImageView)
- Material-ish Progress (https://github.com/pnikosis/materialish-progress)
- PhysicsLayout (https://github.com/Jawnnypoo/PhysicsLayout)
- Material Letter Icon (https://github.com/IvBaranov/MaterialLetterIcon)
Loading
Loading
Loading
Loading
@@ -60,7 +60,6 @@ dependencies {
apt "org.parceler:parceler:1.0.3"
compile 'com.commit451:bypasses:1.0.1'
compile 'com.commit451:easel:0.0.4'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.pnikosis:materialish-progress:1.7'
compile 'com.jawnnypoo:physicslayout:1.0.1'
compile 'com.github.ivbaranov:MaterialLetterIcon:0.2.1'
Loading
Loading
@@ -70,6 +69,6 @@ dependencies {
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
transitive = true;
}
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1' // or 1.4-beta1
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1' // or 1.4-beta1
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
}
Loading
Loading
@@ -2,7 +2,6 @@ package com.commit451.gitlab.activity;
 
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
Loading
Loading
@@ -13,11 +12,13 @@ import android.support.design.widget.Snackbar;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
 
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.Contributor;
import com.commit451.gitlab.transformation.CircleTransformation;
import com.commit451.gitlab.util.ImageUtil;
import com.commit451.gitlab.util.IntentUtil;
import com.commit451.gitlab.util.NavigationManager;
Loading
Loading
@@ -33,7 +34,6 @@ import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
import de.hdodenhof.circleimageview.CircleImageView;
import retrofit.Callback;
import retrofit.Response;
import retrofit.Retrofit;
Loading
Loading
@@ -145,13 +145,11 @@ public class AboutActivity extends BaseActivity {
int imageSize = getResources().getDimensionPixelSize(R.dimen.circle_size);
for (int i=0; i<contributors.size(); i++) {
Contributor contributor = contributors.get(i);
CircleImageView imageView = new CircleImageView(this);
ImageView imageView = new ImageView(this);
FrameLayout.LayoutParams llp = new FrameLayout.LayoutParams(
imageSize,
imageSize);
imageView.setLayoutParams(llp);
imageView.setBorderWidth(borderSize);
imageView.setBorderColor(Color.BLACK);
Physics.setPhysicsConfig(imageView, config);
physicsLayout.addView(imageView);
imageView.setX(x);
Loading
Loading
@@ -166,6 +164,7 @@ public class AboutActivity extends BaseActivity {
Uri url = ImageUtil.getAvatarUrl(contributor.getEmail(), imageSize);
GitLabClient.getPicasso()
.load(url)
.transform(new CircleTransformation())
.into(imageView);
}
physicsLayout.getPhysics().onLayout(true);
Loading
Loading
Loading
Loading
@@ -226,7 +226,7 @@ public class IssueActivity extends BaseActivity {
mOpenCloseMenuItem = mToolbar.getMenu().findItem(R.id.action_close);
mToolbar.setOnMenuItemClickListener(mOnMenuItemClickListener);
 
mIssueDetailsAdapter = new IssueDetailsAdapter(mIssue);
mIssueDetailsAdapter = new IssueDetailsAdapter(IssueActivity.this, mIssue);
mNotesLayoutManager = new LinearLayoutManager(this);
mNotesRecyclerView.setLayoutManager(mNotesLayoutManager);
mNotesRecyclerView.setAdapter(mIssueDetailsAdapter);
Loading
Loading
Loading
Loading
@@ -173,7 +173,7 @@ public class MergeRequestActivity extends BaseActivity {
mToolbar.setSubtitle(mProject.getNameWithNamespace());
mMergeRequestTitle.setText(mMergeRequest.getTitle());
 
mMergeRequestDetailAdapter = new MergeRequestDetailAdapter(mMergeRequest);
mMergeRequestDetailAdapter = new MergeRequestDetailAdapter(MergeRequestActivity.this, mMergeRequest);
mNotesLinearLayoutManager = new LinearLayoutManager(this);
mNotesRecyclerView.setLayoutManager(mNotesLinearLayoutManager);
mNotesRecyclerView.setAdapter(mMergeRequestDetailAdapter);
Loading
Loading
package com.commit451.gitlab.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import com.commit451.easel.Easel;
import com.commit451.gitlab.R;
import com.commit451.gitlab.model.api.Member;
import com.commit451.gitlab.model.api.UserBasic;
import com.commit451.gitlab.viewHolder.AssigneeViewHolder;
import java.util.ArrayList;
import java.util.Collection;
/**
* Shows the possible assignees
* Created by Jawn on 12/18/2015.
*/
public class AssigneeAdapter extends RecyclerView.Adapter<AssigneeViewHolder> {
private static final int HEADER_COUNT = 1;
private int mColorControlHighlight;
private ArrayList<Member> mUsers;
private UserBasic mSelectedAssignee;
private View.OnClickListener mOnItemClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = (int) v.getTag(R.id.list_position);
if (position > 0) {
mSelectedAssignee = getUser(position);
} else {
mSelectedAssignee = null;
}
notifyDataSetChanged();
}
};
public AssigneeAdapter(Context context, UserBasic currentAssignee) {
mUsers = new ArrayList<>();
mSelectedAssignee = currentAssignee;
mColorControlHighlight = Easel.getThemeAttrColor(context, R.attr.colorControlHighlight);
}
public void setUsers(Collection<Member> users) {
mUsers.clear();
if (users != null) {
mUsers.addAll(users);
}
notifyDataSetChanged();
}
@Override
public AssigneeViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
AssigneeViewHolder holder = AssigneeViewHolder.inflate(parent);
holder.itemView.setOnClickListener(mOnItemClickListener);
return holder;
}
@Override
public void onBindViewHolder(AssigneeViewHolder holder, int position) {
if (position == 0) {
holder.bind(null, mColorControlHighlight, mSelectedAssignee == null);
} else {
UserBasic user = getUser(position);
holder.bind(user, mColorControlHighlight, mSelectedAssignee == null ? false : mSelectedAssignee.equals(user));
}
holder.itemView.setTag(R.id.list_position, position);
}
@Override
public int getItemCount() {
return mUsers.size() + HEADER_COUNT;
}
private Member getUser(int position) {
return mUsers.get(position - HEADER_COUNT);
}
}
package com.commit451.gitlab.adapter;
 
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup;
 
Loading
Loading
@@ -12,6 +13,8 @@ import com.commit451.gitlab.viewHolder.NoteViewHolder;
import java.util.ArrayList;
import java.util.List;
 
import in.uncod.android.bypass.Bypass;
/**
* Nice notes
* Created by Jawn on 8/6/2015.
Loading
Loading
@@ -28,10 +31,12 @@ public class IssueDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
private ArrayList<Note> mNotes;
private Issue mIssue;
private boolean mLoading = false;
private Bypass mBypass;
 
public IssueDetailsAdapter(Issue issue) {
public IssueDetailsAdapter(Context context, Issue issue) {
mIssue = issue;
mNotes = new ArrayList<>();
mBypass = new Bypass(context);
}
 
@Override
Loading
Loading
@@ -53,7 +58,7 @@ public class IssueDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
((IssueHeaderViewHolder) holder).bind(mIssue);
} else if (holder instanceof NoteViewHolder) {
Note note = getNoteAt(position);
((NoteViewHolder) holder).bind(note);
((NoteViewHolder) holder).bind(note, mBypass);
} else if (holder instanceof LoadingFooterViewHolder) {
((LoadingFooterViewHolder) holder).bind(mLoading);
}
Loading
Loading
package com.commit451.gitlab.adapter;
 
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup;
 
Loading
Loading
@@ -12,6 +13,8 @@ import com.commit451.gitlab.viewHolder.NoteViewHolder;
import java.util.ArrayList;
import java.util.List;
 
import in.uncod.android.bypass.Bypass;
/**
* Shows the comments and details of a merge request
* Created by John on 11/16/15.
Loading
Loading
@@ -28,10 +31,12 @@ public class MergeRequestDetailAdapter extends RecyclerView.Adapter<RecyclerView
private ArrayList<Note> mNotes;
private MergeRequest mMergeRequest;
private boolean mLoading = false;
private Bypass mBypass;
 
public MergeRequestDetailAdapter(MergeRequest mergeRequest) {
public MergeRequestDetailAdapter(Context context, MergeRequest mergeRequest) {
mMergeRequest = mergeRequest;
mNotes = new ArrayList<>();
mBypass = new Bypass(context);
}
 
@Override
Loading
Loading
@@ -50,10 +55,10 @@ public class MergeRequestDetailAdapter extends RecyclerView.Adapter<RecyclerView
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
if (holder instanceof MergeRequestHeaderViewHolder) {
((MergeRequestHeaderViewHolder) holder).bind(mMergeRequest);
((MergeRequestHeaderViewHolder) holder).bind(mMergeRequest, mBypass);
} else if (holder instanceof NoteViewHolder) {
Note note = getNoteAt(position);
((NoteViewHolder) holder).bind(note);
((NoteViewHolder) holder).bind(note, mBypass);
} else if (holder instanceof LoadingFooterViewHolder) {
((LoadingFooterViewHolder) holder).bind(mLoading);
}
Loading
Loading
package com.commit451.gitlab.dialog;
import android.content.Context;
import android.support.v7.app.AppCompatDialog;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.commit451.gitlab.R;
import com.commit451.gitlab.adapter.AssigneeAdapter;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.Member;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.model.api.UserBasic;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
import retrofit.Callback;
import retrofit.Response;
import retrofit.Retrofit;
import timber.log.Timber;
/**
* Assign peeps to an issue
*/
public class AssigneeDialog extends AppCompatDialog {
@Bind(R.id.list) RecyclerView mRecyclerView;
AssigneeAdapter mAssigneeAdapter;
@Bind(R.id.progress) View mProgress;
@Bind(R.id.content_root) View mContentRoot;
@OnClick(R.id.cancel_button)
void onCancel() {
dismiss();
}
@OnClick(R.id.assign_button)
void onAssign() {
//TODO assign user
mProgress.setVisibility(View.VISIBLE);
mContentRoot.animate().alpha(0.0f);
}
UserBasic mAssignee;
private final Callback<List<Member>> mUsersCallback = new Callback<List<Member>>() {
@Override
public void onResponse(Response<List<Member>> response, Retrofit retrofit) {
if (!response.isSuccess()) {
return;
}
mAssigneeAdapter.setUsers(response.body());
}
@Override
public void onFailure(Throwable t) {
Timber.e(t, null);
dismiss();
}
};
public AssigneeDialog(Context context, UserBasic assignee, Project project) {
super(context);
setContentView(R.layout.dialog_assignee);
ButterKnife.bind(this);
mAssignee = assignee;
mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
mAssigneeAdapter = new AssigneeAdapter(context, assignee);
mRecyclerView.setAdapter(mAssigneeAdapter);
GitLabClient.instance().getProjectMembers(project.getId()).enqueue(mUsersCallback);
}
}
Loading
Loading
@@ -106,7 +106,7 @@ public class OverviewFragment extends BaseFragment {
String text = new String(Base64.decode(response.body().getContent(), Base64.DEFAULT), Charset.forName("UTF-8"));
 
mOverviewVew.setText(mBypass.markdownToSpannable(text,
new PicassoImageGetter(mOverviewVew, getResources(), GitLabClient.getPicasso())));
new PicassoImageGetter(mOverviewVew, GitLabClient.getPicasso())));
}
 
@Override
Loading
Loading
package com.commit451.gitlab.transformation;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;
import com.squareup.picasso.Transformation;
/**
* https://gist.github.com/julianshen/5829333
*/
public class CircleTransformation implements Transformation {
@Override
public Bitmap transform(Bitmap source) {
int size = Math.min(source.getWidth(), source.getHeight());
int x = (source.getWidth() - size) / 2;
int y = (source.getHeight() - size) / 2;
Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size);
if (squaredBitmap != source) {
source.recycle();
}
Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig());
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);
paint.setShader(shader);
paint.setAntiAlias(true);
float r = size/2f;
canvas.drawCircle(r, r, r, paint);
squaredBitmap.recycle();
return bitmap;
}
@Override
public String key() {
return "circle";
}
}
\ No newline at end of file
package com.commit451.gitlab.util;
 
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
Loading
Loading
@@ -13,18 +12,18 @@ import com.squareup.picasso.Picasso;
import in.uncod.android.bypass.Bypass;
import timber.log.Timber;
 
// credits: http://stackoverflow.com/a/25530488/504611
/**
* Original credits: http://stackoverflow.com/a/25530488/504611
*/
public class PicassoImageGetter implements Bypass.ImageGetter {
 
private final Resources resources;
private final Picasso pablo;
private final TextView textView;
private final Picasso mPicasso;
private final TextView mTextView;
private int maxWidth = -1;
 
public PicassoImageGetter(final TextView textView, final Resources resources, final Picasso pablo) {
this.textView = textView;
this.resources = resources;
this.pablo = pablo;
public PicassoImageGetter(final TextView textView, final Picasso picasso) {
mTextView = textView;
mPicasso = picasso;
}
 
@Override
Loading
Loading
@@ -38,7 +37,7 @@ public class PicassoImageGetter implements Bypass.ImageGetter {
@Override
protected Bitmap doInBackground(final Void... meh) {
try {
return pablo.load(finalSource).get();
return mPicasso.load(finalSource).get();
} catch (Exception e) {
return null;
}
Loading
Loading
@@ -48,14 +47,14 @@ public class PicassoImageGetter implements Bypass.ImageGetter {
protected void onPostExecute(final Bitmap bitmap) {
try {
if (maxWidth == -1) {
int horizontalPadding = textView.getPaddingLeft() + textView.getPaddingRight();
maxWidth = textView.getMeasuredWidth() - horizontalPadding;
int horizontalPadding = mTextView.getPaddingLeft() + mTextView.getPaddingRight();
maxWidth = mTextView.getMeasuredWidth() - horizontalPadding;
if (maxWidth == 0) {
maxWidth = Integer.MAX_VALUE;
}
}
 
final BitmapDrawable drawable = new BitmapDrawable(resources, bitmap);
final BitmapDrawable drawable = new BitmapDrawable(mTextView.getResources(), bitmap);
final double aspectRatio = 1.0 * drawable.getIntrinsicWidth() / drawable.getIntrinsicHeight();
final int width = Math.min(maxWidth, drawable.getIntrinsicWidth());
final int height = (int) (width / aspectRatio);
Loading
Loading
@@ -65,7 +64,7 @@ public class PicassoImageGetter implements Bypass.ImageGetter {
result.setDrawable(drawable);
result.setBounds(0, 0, width, height);
 
textView.setText(textView.getText()); // invalidate() doesn't work correctly...
mTextView.setText(mTextView.getText()); // invalidate() doesn't work correctly...
} catch (Exception e) {
Timber.e(e, null);
}
Loading
Loading
@@ -76,7 +75,7 @@ public class PicassoImageGetter implements Bypass.ImageGetter {
return result;
}
 
static class BitmapDrawablePlaceHolder extends BitmapDrawable {
private static class BitmapDrawablePlaceHolder extends BitmapDrawable {
 
protected Drawable drawable;
 
Loading
Loading
Loading
Loading
@@ -26,6 +26,7 @@ import com.commit451.gitlab.event.LoginEvent;
import com.commit451.gitlab.event.ReloadDataEvent;
import com.commit451.gitlab.model.Account;
import com.commit451.gitlab.model.api.UserFull;
import com.commit451.gitlab.transformation.CircleTransformation;
import com.commit451.gitlab.util.ImageUtil;
import com.commit451.gitlab.util.NavigationManager;
import com.squareup.otto.Subscribe;
Loading
Loading
@@ -231,6 +232,7 @@ public class GitLabNavigationView extends NavigationView {
Uri url = ImageUtil.getAvatarUrl(user, getResources().getDimensionPixelSize(R.dimen.larger_image_size));
GitLabClient.getPicasso()
.load(url)
.transform(new CircleTransformation())
.into(mProfileImage);
}
 
Loading
Loading
Loading
Loading
@@ -11,6 +11,7 @@ import android.widget.TextView;
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.Account;
import com.commit451.gitlab.transformation.CircleTransformation;
import com.commit451.gitlab.util.ImageUtil;
 
import butterknife.Bind;
Loading
Loading
@@ -61,6 +62,7 @@ public class AccountViewHolder extends RecyclerView.ViewHolder{
 
GitLabClient.getPicasso()
.load(ImageUtil.getAvatarUrl(account.getUser(), itemView.getResources().getDimensionPixelSize(R.dimen.user_list_image_size)))
.transform(new CircleTransformation())
.into(mImageView);
}
}
Loading
Loading
@@ -11,6 +11,7 @@ import android.widget.TextView;
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.Member;
import com.commit451.gitlab.transformation.CircleTransformation;
import com.commit451.gitlab.util.ImageUtil;
 
import butterknife.Bind;
Loading
Loading
@@ -45,6 +46,7 @@ public class AssigneeSpinnerViewHolder extends RecyclerView.ViewHolder {
mUsernameView.setText(user.getUsername());
GitLabClient.getPicasso()
.load(ImageUtil.getAvatarUrl(user, itemView.getResources().getDimensionPixelSize(R.dimen.user_list_image_size)))
.transform(new CircleTransformation())
.into(mImageView);
}
}
Loading
Loading
package com.commit451.gitlab.viewHolder;
import android.graphics.drawable.ColorDrawable;
import android.support.annotation.Nullable;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.UserBasic;
import com.commit451.gitlab.util.ImageUtil;
import butterknife.Bind;
import butterknife.ButterKnife;
/**
* Shows an assignee
*/
public class AssigneeViewHolder extends RecyclerView.ViewHolder {
public static AssigneeViewHolder inflate(ViewGroup parent) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_assignee, parent, false);
return new AssigneeViewHolder(view);
}
@Bind(R.id.user_image) ImageView mImageView;
@Bind(R.id.user_username) TextView mUsernameView;
public AssigneeViewHolder(View view) {
super(view);
ButterKnife.bind(this, view);
}
public void bind(@Nullable UserBasic user, int colorSelected, boolean isSelected) {
if (user == null) {
mUsernameView.setText(R.string.no_assignee);
mImageView.setImageResource(R.drawable.ic_assign_24dp);
} else {
mUsernameView.setText(user.getUsername());
GitLabClient.getPicasso()
.load(ImageUtil.getAvatarUrl(user, itemView.getResources().getDimensionPixelSize(R.dimen.user_list_image_size)))
.into(mImageView);
}
((FrameLayout) itemView).setForeground(isSelected ? new ColorDrawable(colorSelected) : null);
}
}
Loading
Loading
@@ -10,6 +10,7 @@ import android.widget.TextView;
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.RepositoryCommit;
import com.commit451.gitlab.transformation.CircleTransformation;
import com.commit451.gitlab.util.DateUtils;
import com.commit451.gitlab.util.ImageUtil;
 
Loading
Loading
@@ -40,6 +41,7 @@ public class CommitViewHolder extends RecyclerView.ViewHolder {
public void bind(RepositoryCommit commit) {
GitLabClient.getPicasso()
.load(ImageUtil.getAvatarUrl(commit.getAuthorEmail(), itemView.getResources().getDimensionPixelSize(R.dimen.image_size)))
.transform(new CircleTransformation())
.into(mImageView);
 
mMessageView.setText(commit.getTitle());
Loading
Loading
Loading
Loading
@@ -11,6 +11,7 @@ import android.widget.TextView;
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.rss.Entry;
import com.commit451.gitlab.transformation.CircleTransformation;
 
import butterknife.Bind;
import butterknife.ButterKnife;
Loading
Loading
@@ -38,6 +39,7 @@ public class FeedEntryViewHolder extends RecyclerView.ViewHolder {
public void bind(Entry entry) {
GitLabClient.getPicasso()
.load(entry.getThumbnail().getUrl())
.transform(new CircleTransformation())
.into(mImageView);
 
mTitleView.setText(Html.fromHtml(entry.getTitle()));
Loading
Loading
Loading
Loading
@@ -12,6 +12,7 @@ import android.widget.TextView;
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.Issue;
import com.commit451.gitlab.transformation.CircleTransformation;
import com.commit451.gitlab.util.DateUtils;
import com.commit451.gitlab.util.ImageUtil;
 
Loading
Loading
@@ -53,6 +54,7 @@ public class IssueHeaderViewHolder extends RecyclerView.ViewHolder {
 
GitLabClient.getPicasso()
.load(ImageUtil.getAvatarUrl(issue.getAuthor(), itemView.getResources().getDimensionPixelSize(R.dimen.image_size)))
.transform(new CircleTransformation())
.into(mAuthorImageView);
 
String author = "";
Loading
Loading
Loading
Loading
@@ -10,6 +10,7 @@ import android.widget.TextView;
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.Issue;
import com.commit451.gitlab.transformation.CircleTransformation;
import com.commit451.gitlab.util.DateUtils;
import com.commit451.gitlab.util.ImageUtil;
 
Loading
Loading
@@ -44,6 +45,7 @@ public class IssueViewHolder extends RecyclerView.ViewHolder {
 
GitLabClient.getPicasso()
.load(ImageUtil.getAvatarUrl(issue.getAssignee(), itemView.getResources().getDimensionPixelSize(R.dimen.image_size)))
.transform(new CircleTransformation())
.into(mImageView);
 
mMessageView.setText("#" + tempId + ": " + issue.getTitle());
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment