Snap for 9224393 from 2bd5a3b804781e539f313756e0e5f609877314d3 to studio-flamingo-release

Change-Id: I0d60d1181d142556cb9879f0a8cac2594c449637
diff --git a/google-login-plugin/src/com/google/gct/login/LoginContext.java b/google-login-plugin/src/com/google/gct/login/LoginContext.java
index 9772baf..6ce72f7 100644
--- a/google-login-plugin/src/com/google/gct/login/LoginContext.java
+++ b/google-login-plugin/src/com/google/gct/login/LoginContext.java
@@ -16,14 +16,22 @@
 package com.google.gct.login;
 
 public class LoginContext {
+
+  private static final String DEFAULT_ID = "73723532827-bbn1q3u70e1711t3a6ngm0pkgt9ictjq.apps.googleusercontent.com";
+  private static final String DEFAULT_INFO = "ejfLik02xkOoWwOOt13UN4oC";
+
+  // TODO(b/236141170): Remove properties once bug reporting completed
+  private static final String LOGIN_ID_KEY = "studio.login.id.override";
+  private static final String LOGIN_INFO_KEY = "studio.login.info.override";
+
   public LoginContext() {
   }
 
   public static String getId() {
-    return "73723532827-bbn1q3u70e1711t3a6ngm0pkgt9ictjq.apps.googleusercontent.com";
+    return System.getProperty(LOGIN_ID_KEY, DEFAULT_ID);
   }
 
   public static String getInfo() {
-    return "ejfLik02xkOoWwOOt13UN4oC";
+    return System.getProperty(LOGIN_INFO_KEY, DEFAULT_INFO);
   }
 }
diff --git a/google-login-plugin/src/com/google/gct/login/OAuthScopeRegistry.java b/google-login-plugin/src/com/google/gct/login/OAuthScopeRegistry.java
index afaa0fe..1463b62 100644
--- a/google-login-plugin/src/com/google/gct/login/OAuthScopeRegistry.java
+++ b/google-login-plugin/src/com/google/gct/login/OAuthScopeRegistry.java
@@ -15,6 +15,7 @@
  */
 package com.google.gct.login;
 
+import java.util.Arrays;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.Collections;
@@ -26,14 +27,25 @@
  */
 class OAuthScopeRegistry {
   private static final SortedSet<String> SCOPES;
+  private static final String[] DEFAULT_SCOPES = new String[]{
+    "https://www.googleapis.com/auth/userinfo#email",
+    "https://www.googleapis.com/auth/appengine.admin",
+    "https://www.googleapis.com/auth/cloud-platform",
+    "https://www.googleapis.com/auth/firebase",
+    "https://www.googleapis.com/auth/actions.builder",
+  };
+
+  // TODO(b/236141170): Remove properties once bug reporting completed
+  private static final String SCOPES_KEY = "studio.login.scopes.override";
 
   static {
-    SortedSet<String> scopes = new TreeSet<String>();
-    scopes.add("https://www.googleapis.com/auth/userinfo#email");
-    scopes.add("https://www.googleapis.com/auth/appengine.admin");
-    scopes.add("https://www.googleapis.com/auth/cloud-platform");
-    scopes.add("https://www.googleapis.com/auth/firebase");
-    scopes.add("https://www.googleapis.com/auth/actions.builder");
+    String[] array = DEFAULT_SCOPES;
+    String override = System.getProperty(SCOPES_KEY);
+    if (override != null) {
+      array = override.split(",");
+    }
+
+    SortedSet<String> scopes = new TreeSet<String>(Arrays.asList(array));
     SCOPES = Collections.unmodifiableSortedSet(scopes);
   }