Skip to content

Commit a8ad803

Browse files
fix npe
Signed-off-by: tobiasKaminsky <[email protected]>
1 parent 7d3284d commit a8ad803

File tree

1 file changed

+38
-33
lines changed

1 file changed

+38
-33
lines changed

app/src/main/java/com/owncloud/android/ui/adapter/ActivityListAdapter.java

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -310,42 +310,47 @@ private SpannableStringBuilder addClickablePart(RichElement richElement) {
310310
richObject.getId(),
311311
name
312312
);
313-
314-
DisplayUtils.setAvatar(
315-
currentAccountProvider.getUser(),
316-
richObject.getId(),
317-
name,
318-
this,
319-
context.getResources().getDimension(R.dimen.avatar_icon_radius),
320-
context.getResources(),
321-
drawableForChip,
322-
context
323-
);
313+
314+
if (richObject.getId() != null) {
315+
DisplayUtils.setAvatar(
316+
currentAccountProvider.getUser(),
317+
richObject.getId(),
318+
name,
319+
this,
320+
context.getResources().getDimension(R.dimen.avatar_icon_radius),
321+
context.getResources(),
322+
drawableForChip,
323+
context
324+
);
325+
}
324326

325327
ssb.setSpan(mentionChipSpan, idx1, idx2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
326328
} else {
327329
String name = richObject.getName();
328-
ssb.replace(idx1, idx2, name);
329-
text = ssb.toString();
330-
idx2 = idx1 + name.length();
331-
ssb.setSpan(new ClickableSpan() {
332-
@Override
333-
public void onClick(@NonNull View widget) {
334-
activityListInterface.onActivityClicked(richObject);
335-
}
336-
337-
@Override
338-
public void updateDrawState(@NonNull TextPaint ds) {
339-
ds.setUnderlineText(false);
340-
}
341-
}, idx1, idx2, 0);
342-
ssb.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), idx1, idx2, 0);
343-
ssb.setSpan(
344-
new ForegroundColorSpan(context.getResources().getColor(R.color.text_color)),
345-
idx1,
346-
idx2,
347-
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
348-
);
330+
331+
if (name != null) {
332+
ssb.replace(idx1, idx2, name);
333+
text = ssb.toString();
334+
idx2 = idx1 + name.length();
335+
ssb.setSpan(new ClickableSpan() {
336+
@Override
337+
public void onClick(@NonNull View widget) {
338+
activityListInterface.onActivityClicked(richObject);
339+
}
340+
341+
@Override
342+
public void updateDrawState(@NonNull TextPaint ds) {
343+
ds.setUnderlineText(false);
344+
}
345+
}, idx1, idx2, 0);
346+
ssb.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), idx1, idx2, 0);
347+
ssb.setSpan(
348+
new ForegroundColorSpan(context.getResources().getColor(R.color.text_color)),
349+
idx1,
350+
idx2,
351+
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
352+
);
353+
}
349354
}
350355
}
351356
idx1 = text.indexOf('{', idx2);
@@ -356,7 +361,7 @@ public void updateDrawState(@NonNull TextPaint ds) {
356361

357362
private RichObject searchObjectByName(List<RichObject> richObjectList, String name) {
358363
for (RichObject richObject : richObjectList) {
359-
if (richObject.getTag().equalsIgnoreCase(name)) {
364+
if (richObject.getTag() != null && richObject.getTag().equalsIgnoreCase(name)) {
360365
return richObject;
361366
}
362367
}

0 commit comments

Comments
 (0)