diff --git a/media/android/NewsBlur/res/layout/include_comment.xml b/media/android/NewsBlur/res/layout/include_comment.xml index 9b001aa29..bc69a7fd9 100644 --- a/media/android/NewsBlur/res/layout/include_comment.xml +++ b/media/android/NewsBlur/res/layout/include_comment.xml @@ -46,8 +46,6 @@ android:contentDescription="@string/description_comment_user" android:scaleType="fitCenter" /> - - - + android:gravity="right" /> { private static final String TAG = "LikeCommentTask"; final WeakReference favouriteIconViewHolder; - final WeakReference favouriteCountViewHolder; private final APIManager apiManager; private final String storyId; @@ -25,7 +24,7 @@ public class LikeCommentTask extends AsyncTask{ private final Context context; private final String userId; - public LikeCommentTask(final Context context, final APIManager apiManager, final View favouriteCount, final ImageView favouriteIcon, final String storyId, final Comment comment, final String feedId, final String userId) { + public LikeCommentTask(final Context context, final APIManager apiManager, final ImageView favouriteIcon, final String storyId, final Comment comment, final String feedId, final String userId) { this.apiManager = apiManager; this.storyId = storyId; this.comment = comment; @@ -34,7 +33,6 @@ public class LikeCommentTask extends AsyncTask{ this.userId = userId; favouriteIconViewHolder = new WeakReference(favouriteIcon); - favouriteCountViewHolder = new WeakReference(favouriteCount); } @Override @@ -53,7 +51,6 @@ public class LikeCommentTask extends AsyncTask{ newArray[newArray.length - 1] = userId; comment.likingUsers = newArray; - ((TextView) favouriteCountViewHolder.get()).setText(Integer.toString(comment.likingUsers.length)); Toast.makeText(context, "Comment liked", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, "Error liking comment", Toast.LENGTH_SHORT).show(); diff --git a/media/android/NewsBlur/src/com/newsblur/network/SetupCommentSectionTask.java b/media/android/NewsBlur/src/com/newsblur/network/SetupCommentSectionTask.java index d34a56951..7c6c3ccaf 100644 --- a/media/android/NewsBlur/src/com/newsblur/network/SetupCommentSectionTask.java +++ b/media/android/NewsBlur/src/com/newsblur/network/SetupCommentSectionTask.java @@ -18,7 +18,9 @@ import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; +import android.view.ViewGroup.LayoutParams; import android.widget.ImageView; +import android.widget.ImageView.ScaleType; import android.widget.LinearLayout; import android.widget.TextView; @@ -104,7 +106,7 @@ public class SetupCommentSectionTask extends AsyncTask { TextView commentSharedDate = (TextView) commentView.findViewById(R.id.comment_shareddate); commentSharedDate.setText(comment.sharedDate); - final TextView favouriteCount = (TextView) commentView.findViewById(R.id.comment_favourite_count); + final LinearLayout favouriteContainer = (LinearLayout) commentView.findViewById(R.id.comment_favourite_avatars); final ImageView favouriteIcon = (ImageView) commentView.findViewById(R.id.comment_favourite_icon); final ImageView replyIcon = (ImageView) commentView.findViewById(R.id.comment_reply_icon); @@ -112,14 +114,32 @@ public class SetupCommentSectionTask extends AsyncTask { if (Arrays.asList(comment.likingUsers).contains(user.id)) { favouriteIcon.setImageResource(R.drawable.have_favourite); } - favouriteCount.setText(Integer.toString(comment.likingUsers.length)); + + for (String id : comment.likingUsers) { + ImageView favouriteImage = new ImageView(context); + UserProfile favouriteUser = null; + favouriteImage.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); + favouriteImage.setScaleType(ScaleType.FIT_CENTER); + + if (publicUserMap.containsKey(id)) { + favouriteUser = publicUserMap.get(id); + } else if (friendUserMap.containsKey(id)) { + favouriteUser = friendUserMap.get(id); + } else { + favouriteUser = apiManager.getUser(id).user; + } + + imageLoader.displayImage(favouriteUser.photoUrl, favouriteImage); + favouriteContainer.addView(favouriteImage); + } + favouriteIcon.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!Arrays.asList(comment.likingUsers).contains(user.id)) { - new LikeCommentTask(context, apiManager, favouriteCount, favouriteIcon, story.id, comment, story.feedId, user.id).execute(); + new LikeCommentTask(context, apiManager, favouriteIcon, story.id, comment, story.feedId, user.id).execute(); } else { - new UnLikeCommentTask(context, apiManager, favouriteCount, favouriteIcon, story.id, comment, story.feedId, user.id).execute(); + new UnLikeCommentTask(context, apiManager, favouriteIcon, story.id, comment, story.feedId, user.id).execute(); } } }); diff --git a/media/android/NewsBlur/src/com/newsblur/network/UnLikeCommentTask.java b/media/android/NewsBlur/src/com/newsblur/network/UnLikeCommentTask.java index 3a353f1d0..3b3677997 100644 --- a/media/android/NewsBlur/src/com/newsblur/network/UnLikeCommentTask.java +++ b/media/android/NewsBlur/src/com/newsblur/network/UnLikeCommentTask.java @@ -18,7 +18,6 @@ public class UnLikeCommentTask extends AsyncTask{ private static final String TAG = "LikeCommentTask"; final WeakReference favouriteIconViewHolder; - final WeakReference favouriteCountViewHolder; private final APIManager apiManager; private final String storyId; private final Comment comment; @@ -26,7 +25,7 @@ public class UnLikeCommentTask extends AsyncTask{ private final Context context; private final String userId; - public UnLikeCommentTask(final Context context, final APIManager apiManager, final View favouriteCount, final ImageView favouriteIcon, final String storyId, final Comment comment, final String feedId, final String userId) { + public UnLikeCommentTask(final Context context, final APIManager apiManager, final ImageView favouriteIcon, final String storyId, final Comment comment, final String feedId, final String userId) { this.apiManager = apiManager; this.storyId = storyId; this.comment = comment; @@ -35,7 +34,6 @@ public class UnLikeCommentTask extends AsyncTask{ this.userId = userId; favouriteIconViewHolder = new WeakReference(favouriteIcon); - favouriteCountViewHolder = new WeakReference(favouriteCount); } @Override @@ -59,7 +57,6 @@ public class UnLikeCommentTask extends AsyncTask{ likingUsers.toArray(newArray); comment.likingUsers = newArray; - ((TextView) favouriteCountViewHolder.get()).setText(Integer.toString(comment.likingUsers.length)); Toast.makeText(context, "Removed like", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, "Error removing like from comment", Toast.LENGTH_SHORT).show();