Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 9c85264

Browse files
Temporary changes to ensure we set isBusy to false on the correct thread
1 parent 0e48924 commit 9c85264

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

src/GitHub.Api/Application/ApiClient.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,15 @@ private async Task LogoutInternal(UriString host)
6161
public async Task CreateRepository(NewRepository newRepository, Action<Octokit.Repository, Exception> callback, string organization = null)
6262
{
6363
Guard.ArgumentNotNull(callback, "callback");
64-
await CreateRepositoryInternal(newRepository, callback, organization);
64+
try
65+
{
66+
var repository = await CreateRepositoryInternal(newRepository, organization);
67+
callback(repository, null);
68+
}
69+
catch (Exception e)
70+
{
71+
callback(null, e);
72+
}
6573
}
6674

6775
public async Task GetOrganizations(Action<IList<Organization>> callback)
@@ -174,16 +182,15 @@ public async Task<bool> ContinueLoginAsync(LoginResult loginResult, Func<LoginRe
174182
return result.Code == LoginResultCodes.Success;
175183
}
176184

177-
private async Task CreateRepositoryInternal(NewRepository newRepository, Action<Octokit.Repository, Exception> callback, string organization)
185+
private async Task<Octokit.Repository> CreateRepositoryInternal(NewRepository newRepository, string organization)
178186
{
179187
try
180188
{
181189
logger.Trace("Creating repository");
182190

183191
if (!await EnsureKeychainLoaded())
184192
{
185-
callback(null, new Exception("Keychain Not Loaded"));
186-
return;
193+
return null;
187194
}
188195

189196
Octokit.Repository repository;
@@ -201,13 +208,12 @@ private async Task CreateRepositoryInternal(NewRepository newRepository, Action<
201208
}
202209

203210
logger.Trace("Created Repository");
204-
205-
callback(repository, null);
211+
return repository;
206212
}
207213
catch (Exception ex)
208214
{
209215
logger.Error(ex, "Error Creating Repository");
210-
callback(null, ex);
216+
throw;
211217
}
212218
}
213219

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/PUblishView.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ private void PopulateView()
7474
if (user == null)
7575
{
7676
Logger.Warning("Unable to get current user");
77+
isBusy = false;
7778
return;
7879
}
7980

@@ -82,24 +83,22 @@ private void PopulateView()
8283

8384
Logger.Trace("GetOrganizations");
8485

85-
Client.GetOrganizations(organizations =>
86-
{
86+
Client.GetOrganizations(organizations => {
8787
if (organizations == null)
8888
{
8989
Logger.Warning("Unable to get list of organizations");
90+
isBusy = false;
9091
return;
9192
}
9293

9394
Logger.Trace("Loaded {0} organizations", organizations.Count);
9495

9596
var organizationLogins = organizations
96-
.OrderBy(organization => organization.Login)
97-
.Select(organization => organization.Login);
97+
.OrderBy(organization => organization.Login).Select(organization => organization.Login);
9898

9999
owners = owners.Union(organizationLogins).ToArray();
100+
isBusy = false;
100101
});
101-
}).Finally(task => {
102-
isBusy = false;
103102
});
104103
}
105104
else

0 commit comments

Comments
 (0)