Skip to content
Snippets Groups Projects
Commit 9c85264d authored by Stanley Goldman's avatar Stanley Goldman
Browse files

Temporary changes to ensure we set isBusy to false on the correct thread

parent 0e489246
No related branches found
No related tags found
No related merge requests found
......@@ -61,7 +61,15 @@ namespace GitHub.Unity
public async Task CreateRepository(NewRepository newRepository, Action<Octokit.Repository, Exception> callback, string organization = null)
{
Guard.ArgumentNotNull(callback, "callback");
await CreateRepositoryInternal(newRepository, callback, organization);
try
{
var repository = await CreateRepositoryInternal(newRepository, organization);
callback(repository, null);
}
catch (Exception e)
{
callback(null, e);
}
}
public async Task GetOrganizations(Action<IList<Organization>> callback)
......@@ -174,7 +182,7 @@ namespace GitHub.Unity
return result.Code == LoginResultCodes.Success;
}
private async Task CreateRepositoryInternal(NewRepository newRepository, Action<Octokit.Repository, Exception> callback, string organization)
private async Task<Octokit.Repository> CreateRepositoryInternal(NewRepository newRepository, string organization)
{
try
{
......@@ -182,8 +190,7 @@ namespace GitHub.Unity
if (!await EnsureKeychainLoaded())
{
callback(null, new Exception("Keychain Not Loaded"));
return;
return null;
}
Octokit.Repository repository;
......@@ -201,13 +208,12 @@ namespace GitHub.Unity
}
logger.Trace("Created Repository");
callback(repository, null);
return repository;
}
catch (Exception ex)
{
logger.Error(ex, "Error Creating Repository");
callback(null, ex);
throw;
}
}
......
......@@ -74,6 +74,7 @@ namespace GitHub.Unity
if (user == null)
{
Logger.Warning("Unable to get current user");
isBusy = false;
return;
}
......@@ -82,24 +83,22 @@ namespace GitHub.Unity
Logger.Trace("GetOrganizations");
Client.GetOrganizations(organizations =>
{
Client.GetOrganizations(organizations => {
if (organizations == null)
{
Logger.Warning("Unable to get list of organizations");
isBusy = false;
return;
}
Logger.Trace("Loaded {0} organizations", organizations.Count);
var organizationLogins = organizations
.OrderBy(organization => organization.Login)
.Select(organization => organization.Login);
.OrderBy(organization => organization.Login).Select(organization => organization.Login);
owners = owners.Union(organizationLogins).ToArray();
isBusy = false;
});
}).Finally(task => {
isBusy = false;
});
}
else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment