Skip to content

Commit

Permalink
Added DefaultImage enum to GravatarUtils
Browse files Browse the repository at this point in the history
  • Loading branch information
nbradbury committed Feb 10, 2015
1 parent 5771cb1 commit bf9834a
Showing 1 changed file with 40 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,22 +1,55 @@
package org.wordpress.android.util;

public class GravatarUtils {

/*
* see https://en.gravatar.com/site/implement/images/
*/

public static enum DefaultImage {
MYSTERY_MAN,
STATUS_404,
IDENTICON,
MONSTER,
WAVATAR,
RETRO,
BLANK;

@Override
public String toString() {
switch (this) {
case MYSTERY_MAN:
return "mm";
case STATUS_404:
return "404";
case IDENTICON:
return "identicon";
case MONSTER:
return "monsterid";
case WAVATAR:
return "wavatar";
case RETRO:
return "retro";
default:
return "blank";
}
}
}

public static String gravatarFromEmail(final String email, int size) {
return gravatarFromEmail(email, size, DefaultImage.MYSTERY_MAN);
}
public static String gravatarFromEmail(final String email, int size, DefaultImage defaultImage) {
return "http://gravatar.com/avatar/"
+ StringUtils.getMd5Hash(StringUtils.notNullStr(email))
+ "?d=mm&size=" + Integer.toString(size);
+ "?d=" + defaultImage.toString()
+ "&size=" + Integer.toString(size);
}

/*
* important: the 404 default means the request will 404 if there is no blavatar
* for the passed site - so the caller needs to trap the 404 to provide a default
*/
public static String blavatarFromUrl(final String url, int size) {
public static String blavatarFromUrl(final String url, int size, DefaultImage defaultImage) {
return "http://gravatar.com/blavatar/"
+ StringUtils.getMd5Hash(UrlUtils.getDomainFromUrl(url))
+ "?d=404&size=" + Integer.toString(size);
+ "?d=" + defaultImage.toString()
+ "&size=" + Integer.toString(size);
}
}

0 comments on commit bf9834a

Please sign in to comment.