Honor cancelled login into google cloud.
Avoid spamming the user with login into google cloud
dialogs when the user cancels (or fails) the login
for a given action (like openning a particular dialog).
Change-Id: I025b007dbcec0681481f86672cf461898b393551
diff --git a/src/com/google/gct/testing/CloudConfigurationProviderImpl.java b/src/com/google/gct/testing/CloudConfigurationProviderImpl.java
index df10c86..02d57ed 100644
--- a/src/com/google/gct/testing/CloudConfigurationProviderImpl.java
+++ b/src/com/google/gct/testing/CloudConfigurationProviderImpl.java
@@ -126,6 +126,11 @@
@NotNull
@Override
public List<? extends CloudConfiguration> getCloudConfigurations(@NotNull AndroidFacet facet, @NotNull final Kind configurationKind) {
+ try {
+ CloudAuthenticator.prepareCredential();
+ } catch(Exception e) {
+ return Lists.newArrayList();
+ }
List<CloudPersistentConfiguration> cloudPersistentConfigurations = Lists.newArrayList(Iterables.filter(
CloudCustomPersistentConfigurations.getInstance(facet.getModule()).getState().myCloudPersistentConfigurations,
@@ -179,6 +184,12 @@
@NotNull
public List<? extends CloudConfiguration> getAllCloudConfigurations(@NotNull AndroidFacet facet) {
+ try {
+ CloudAuthenticator.prepareCredential();
+ } catch(Exception e) {
+ return Lists.newArrayList();
+ }
+
List<CloudPersistentConfiguration> cloudPersistentConfigurations =
CloudCustomPersistentConfigurations.getInstance(facet.getModule()).getState().myCloudPersistentConfigurations;
return Lists.newArrayList(Iterables.concat(deserializeConfigurations(cloudPersistentConfigurations, true, facet),
diff --git a/src/com/google/gct/testing/launcher/CloudAuthenticator.java b/src/com/google/gct/testing/launcher/CloudAuthenticator.java
index 9321345..b06747e 100644
--- a/src/com/google/gct/testing/launcher/CloudAuthenticator.java
+++ b/src/com/google/gct/testing/launcher/CloudAuthenticator.java
@@ -107,13 +107,13 @@
return toolresults;
}
- private static void prepareCredential() {
+ public static void prepareCredential() {
if (httpTransport == null) {
httpTransport = createHttpTransport();
}
if (credential == null) {
if (!authorize()) {
- throw new RuntimeException("Failed to authorize in Google Cloud!");
+ throw new RuntimeException("Failed to authorize to Google Cloud!");
}
credential = GoogleLogin.getInstance().getCredential();
}