use of org.jetbrains.plugins.github.ui.GithubLoginDialog in project intellij-community by JetBrains.
the class GithubUtil method getValidAuthData.
private static void getValidAuthData(@NotNull final Project project, @NotNull final GithubAuthDataHolder authHolder, @NotNull final ProgressIndicator indicator, @NotNull final AuthLevel authLevel, @NotNull final GithubAuthData oldAuth) throws GithubOperationCanceledException {
authHolder.runTransaction(oldAuth, () -> {
final GithubAuthData[] authData = new GithubAuthData[1];
ApplicationManager.getApplication().invokeAndWait(() -> {
GithubLoginDialog dialog = new GithubLoginDialog(project, oldAuth, authLevel);
DialogManager.show(dialog);
if (dialog.isOK()) {
authData[0] = dialog.getAuthData();
if (!authLevel.isOnetime()) {
GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected());
}
}
}, indicator.getModalityState());
if (authData[0] == null)
throw new GithubOperationCanceledException("Can't get valid credentials");
return authData[0];
});
}
Aggregations