public String autoLinkEntities( String text, TwitterMediaEntity twitterMediaEntity, List<Entity> entities, MediaEntity[] mediaEntities, URLEntity[] urlEntities) { StringBuilder builder = new StringBuilder(text.length() * 2); int beginIndex = 0; int urlCount = 0; for (Entity entity : entities) { builder.append(text.subSequence(beginIndex, entity.start)); switch (entity.type) { case URL: URLEntity urlEntity = null; if (urlEntities != null && urlCount < urlEntities.length) { urlEntity = urlEntities[urlCount]; urlCount += 1; // if (twitterMediaEntity != null && // twitterMediaEntity.getUrl().equals(urlEntity.getURL().toString())) // { // break; // } } if (urlEntity == null) { if (entity != null && entity.value != null && mediaEntities != null && mediaEntities.length > 0) { MediaEntity mediaEntity = mediaEntities[0]; if (entity.value.equals(mediaEntity.getURL().toString())) { entity.displayURL = mediaEntity.getDisplayURL(); entity.expandedURL = mediaEntity.getExpandedURL().toString(); } } } /* * if (twitterMediaEntity != null && urlEntity != null) { if * (urlEntity.getExpandedURL * ().toString().equals(twitterMediaEntity.getExpandedUrl())) { * entity.expandedURL = DEFAULT_MEDIA_URL_BASE + * twitterMediaEntity.getExpandedUrl().toString(); entity.value * = DEFAULT_MEDIA_URL_BASE + * twitterMediaEntity.getExpandedUrl().toString(); } } */ linkToURL(entity, text, builder, urlEntity); break; case HASHTAG: linkToHashtag(entity, text, builder); break; case MENTION: linkToMentionAndList(entity, text, builder); break; case CASHTAG: linkToCashtag(entity, text, builder); break; } beginIndex = entity.end; } builder.append(text.subSequence(beginIndex, text.length())); return builder.toString(); }