Cleanup project ConfigInfo constructor

CurrentUser and ProjectState are implied by the ProjectControl.

Change-Id: I302882e39d20ae055e31d1691dffa85f4c5720eb
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ConfigInfo.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ConfigInfo.java
index 7baaa43..9b9b517 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ConfigInfo.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ConfigInfo.java
@@ -23,11 +23,10 @@
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.reviewdb.client.Project.InheritableBoolean;
 import com.google.gerrit.reviewdb.client.Project.SubmitType;
-import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.actions.ActionInfo;
 import com.google.gerrit.server.extensions.webui.UiActions;
 import com.google.gerrit.server.git.TransferConfig;
-import com.google.inject.Provider;
+import com.google.inject.util.Providers;
 
 import java.util.Map;
 
@@ -48,10 +47,9 @@
   public ThemeInfo theme;
 
   public ConfigInfo(ProjectControl control,
-      ProjectState projectState,
       TransferConfig config,
-      DynamicMap<RestView<ProjectResource>> views,
-      Provider<CurrentUser> currentUser) {
+      DynamicMap<RestView<ProjectResource>> views) {
+    ProjectState projectState = control.getProjectState();
     Project p = control.getProject();
     this.description = Strings.emptyToNull(p.getDescription());
 
@@ -108,7 +106,7 @@
     actions = Maps.newTreeMap();
     for (UiAction.Description d : UiActions.from(
         views, new ProjectResource(control),
-        currentUser)) {
+        Providers.of(control.getCurrentUser()))) {
       actions.put(d.getId(), new ActionInfo(d));
     }
     this.theme = projectState.getTheme();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetConfig.java
index 9c08ea2..6f78651 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetConfig.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetConfig.java
@@ -26,7 +26,6 @@
 
   private final TransferConfig config;
   private final DynamicMap<RestView<ProjectResource>> views;
-  private final Provider<CurrentUser> currentUser;
 
   @Inject
   public GetConfig(TransferConfig config,
@@ -34,15 +33,10 @@
       Provider<CurrentUser> currentUser) {
     this.config = config;
     this.views = views;
-    this.currentUser = currentUser;
   }
 
   @Override
   public ConfigInfo apply(ProjectResource resource) {
-    return new ConfigInfo(resource.getControl(),
-        resource.getControl().getProjectState(),
-        config,
-        views,
-        currentUser);
+    return new ConfigInfo(resource.getControl(), config, views);
   }
 }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
index f105087..cb25af3 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
@@ -142,8 +142,8 @@
 
       ProjectState state = projectStateFactory.create(projectConfig);
       return new ConfigInfo(
-          state.controlFor(currentUser.get()), state,
-          config, views, currentUser);
+          state.controlFor(currentUser.get()),
+          config, views);
     } catch (ConfigInvalidException err) {
       throw new ResourceConflictException("Cannot read project " + projectName, err);
     } catch (IOException err) {