Add method to get avatar URL from AccountApi

Change-Id: I435dcfb35267c39ada5b3ac99a02fba829c8cf59
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/accounts/AccountApi.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/accounts/AccountApi.java
index a356ab6..f32541d 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/accounts/AccountApi.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/accounts/AccountApi.java
@@ -25,6 +25,7 @@
 public interface AccountApi {
   AccountInfo get() throws RestApiException;
 
+  String getAvatarUrl() throws RestApiException;
   void starChange(String id) throws RestApiException;
   void unstarChange(String id) throws RestApiException;
   void addEmail(EmailInput input) throws RestApiException;
@@ -45,6 +46,11 @@
     }
 
     @Override
+    public String getAvatarUrl() throws RestApiException {
+      throw new NotImplementedException();
+    }
+
+    @Override
     public void starChange(String id) throws RestApiException {
       throw new NotImplementedException();
     }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetAvatar.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetAvatar.java
index a96e713..24124bd 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetAvatar.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetAvatar.java
@@ -27,7 +27,7 @@
 
 import java.util.concurrent.TimeUnit;
 
-class GetAvatar implements RestReadView<AccountResource> {
+public class GetAvatar implements RestReadView<AccountResource> {
   private final DynamicItem<AvatarProvider> avatarProvider;
 
   @Option(name = "--size", aliases = {"-s"},
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/accounts/AccountApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/accounts/AccountApiImpl.java
index c6e4ad1..44be0ff 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/api/accounts/AccountApiImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/accounts/AccountApiImpl.java
@@ -27,6 +27,7 @@
 import com.google.gerrit.server.account.AccountLoader;
 import com.google.gerrit.server.account.AccountResource;
 import com.google.gerrit.server.account.CreateEmail;
+import com.google.gerrit.server.account.GetAvatar;
 import com.google.gerrit.server.account.StarredChanges;
 import com.google.gerrit.server.change.ChangeResource;
 import com.google.gerrit.server.change.ChangesCollection;
@@ -45,6 +46,7 @@
   private final AccountResource account;
   private final ChangesCollection changes;
   private final AccountLoader.Factory accountLoaderFactory;
+  private final GetAvatar getAvatar;
   private final StarredChanges.Create starredChangesCreate;
   private final StarredChanges.Delete starredChangesDelete;
   private final CreateEmail.Factory createEmailFactory;
@@ -53,6 +55,7 @@
   @Inject
   AccountApiImpl(AccountLoader.Factory ailf,
       ChangesCollection changes,
+      GetAvatar getAvatar,
       StarredChanges.Create starredChangesCreate,
       StarredChanges.Delete starredChangesDelete,
       CreateEmail.Factory createEmailFactory,
@@ -61,6 +64,7 @@
     this.account = account;
     this.accountLoaderFactory = ailf;
     this.changes = changes;
+    this.getAvatar = getAvatar;
     this.starredChangesCreate = starredChangesCreate;
     this.starredChangesDelete = starredChangesDelete;
     this.createEmailFactory = createEmailFactory;
@@ -81,6 +85,11 @@
   }
 
   @Override
+  public String getAvatarUrl() throws RestApiException {
+    return getAvatar.apply(account).location();
+  }
+
+  @Override
   public void starChange(String id) throws RestApiException {
     try {
       ChangeResource rsrc = changes.parse(