7
7
import android .support .annotation .AttrRes ;
8
8
import android .support .annotation .DrawableRes ;
9
9
import android .support .v7 .widget .PopupMenu ;
10
+ import android .text .SpannableStringBuilder ;
10
11
import android .text .TextUtils ;
11
12
import android .view .LayoutInflater ;
12
13
import android .view .MenuItem ;
25
26
import com .gh4a .utils .IntentUtils ;
26
27
import com .gh4a .utils .StringUtils ;
27
28
import com .gh4a .utils .UiUtils ;
29
+ import com .gh4a .widget .StyleableTextView ;
28
30
29
31
import org .eclipse .egit .github .core .CommitComment ;
30
32
import org .eclipse .egit .github .core .Review ;
@@ -46,7 +48,7 @@ class ReviewViewHolder
46
48
private final Callback mCallback ;
47
49
48
50
private final ImageView mAvatarView ;
49
- private final TextView mMessageView ;
51
+ private final StyleableTextView mMessageView ;
50
52
private final TextView mBodyView ;
51
53
private final Button mShowDetailsButton ;
52
54
private final View mAvatarContainer ;
@@ -79,7 +81,7 @@ public ReviewViewHolder(View itemView, HttpImageGetter imageGetter,
79
81
mCallback = callback ;
80
82
81
83
mAvatarView = (ImageView ) itemView .findViewById (R .id .iv_gravatar );
82
- mMessageView = (TextView ) itemView .findViewById (R .id .tv_message );
84
+ mMessageView = (StyleableTextView ) itemView .findViewById (R .id .tv_message );
83
85
mBodyView = (TextView ) itemView .findViewById (R .id .tv_desc );
84
86
mShowDetailsButton = (Button ) itemView .findViewById (R .id .btn_show_details );
85
87
mShowDetailsButton .setOnClickListener (this );
@@ -220,25 +222,31 @@ private int getEventIconResId(Review review) {
220
222
}
221
223
222
224
private void formatTitle (Review review ) {
223
- String login = review .getUser ().getLogin ();
224
- CharSequence time = review .getSubmittedAt () != null
225
- ? StringUtils .formatRelativeTime (mContext , review .getSubmittedAt (), true ) : "" ;
226
-
225
+ int textResId ;
227
226
switch (review .getState ()) {
228
227
case Review .STATE_APPROVED :
229
- mMessageView . setText ( login + " approved these changes " + time ) ;
228
+ textResId = R . string . pull_request_event_review_approved ;
230
229
break ;
231
230
case Review .STATE_CHANGES_REQUESTED :
232
- mMessageView . setText ( login + " requested changes" + time ) ;
231
+ textResId = R . string . pull_request_event_review_requested_changes ;
233
232
break ;
234
233
case Review .STATE_DISMISSED :
235
234
case Review .STATE_COMMENTED :
236
- mMessageView .setText (login + " reviewed " + time );
235
+ default :
236
+ textResId = R .string .pull_request_event_review_reviewed ;
237
237
break ;
238
238
case Review .STATE_PENDING :
239
- mMessageView . setText ( login + " started a review " + time ) ;
239
+ textResId = R . string . pull_request_event_review_started_review ;
240
240
break ;
241
241
}
242
+
243
+ String login = review .getUser ().getLogin ();
244
+ CharSequence time = review .getSubmittedAt () != null
245
+ ? StringUtils .formatRelativeTime (mContext , review .getSubmittedAt (), true ) : "" ;
246
+ String rawMessage = mContext .getString (textResId , login , time );
247
+ SpannableStringBuilder message = StringUtils .applyBoldTags (mContext , rawMessage ,
248
+ mMessageView .getTypefaceValue ());
249
+ mMessageView .setText (message );
242
250
}
243
251
244
252
@ Override
0 commit comments