Search in sources :

Example 1 with GitHubClient

use of org.eclipse.egit.github.core.client.GitHubClient in project Bitocle by mthli.

the class ContentTask method onPreExecute.

@Override
protected void onPreExecute() {
    mainFragment.setRefreshStatus(true);
    context = mainFragment.getContentView().getContext();
    refreshType = mainFragment.getRefreshType();
    GitHubClient gitHubClient = mainFragment.getGitHubClient();
    contentsService = new ContentsService(gitHubClient);
    String repoOwner = mainFragment.getRepoOwner();
    String repoName = mainFragment.getRepoName();
    repositoryId = RepositoryId.create(repoOwner, repoName);
    repoPath = mainFragment.getRepoPath();
    contentItemAdapter = mainFragment.getContentItemAdapter();
    contentItemList = mainFragment.getContentItemList();
    contentItemListBuffer = mainFragment.getContentItemListBuffer();
    mainFragment.setContentShown(false);
}
Also used : GitHubClient(org.eclipse.egit.github.core.client.GitHubClient) ContentsService(org.eclipse.egit.github.core.service.ContentsService)

Example 2 with GitHubClient

use of org.eclipse.egit.github.core.client.GitHubClient in project Bitocle by mthli.

the class WatchTask method onPreExecute.

@Override
protected void onPreExecute() {
    mainFragment.setRefreshStatus(true);
    context = mainFragment.getContentView().getContext();
    GitHubClient gitHubClient = mainFragment.getGitHubClient();
    watcherService = new WatcherService(gitHubClient);
    watchItemAdapter = mainFragment.getWatchItemAdapter();
    watchItemList = mainFragment.getWatchItemList();
    mainFragment.setContentShown(false);
}
Also used : GitHubClient(org.eclipse.egit.github.core.client.GitHubClient) WatcherService(org.eclipse.egit.github.core.service.WatcherService)

Example 3 with GitHubClient

use of org.eclipse.egit.github.core.client.GitHubClient in project hubroid by EddieRingle.

the class GitHubClientProvider method getAnonymousClient.

public GitHubClient getAnonymousClient() {
    final GitHubClient client = new GitHubClient();
    client.setUserAgent(USER_AGENT_STRING);
    mCurrentUser = null;
    return client;
}
Also used : GitHubClient(org.eclipse.egit.github.core.client.GitHubClient)

Example 4 with GitHubClient

use of org.eclipse.egit.github.core.client.GitHubClient in project hubroid by EddieRingle.

the class GitHubClientProvider method getClient.

public GitHubClient getClient(final Context context, final Account account) throws IOException, AccountsException {
    final GitHubClient client = new GitHubClient();
    OAuthUserProvider.AuthResponse response = mUserProvider.getOAuthResponse(context, account);
    client.setOAuth2Token(response.access_token);
    client.setUserAgent(USER_AGENT_STRING);
    mCurrentUser = response.account;
    return client;
}
Also used : GitHubClient(org.eclipse.egit.github.core.client.GitHubClient) OAuthUserProvider(net.idlesoft.android.apps.github.authenticator.OAuthUserProvider)

Example 5 with GitHubClient

use of org.eclipse.egit.github.core.client.GitHubClient in project hubroid by EddieRingle.

the class GitHubApiService method onHandleIntent.

@Override
protected void onHandleIntent(Intent intent) {
    if (intent == null) {
        return;
    }
    mGitHubClient = new GitHubClient(sApiHostname, sApiPort, sApiScheme);
    mGitHubClient.setUserAgent(USER_AGENT);
    if (!intent.getBooleanExtra(ARG_ANONYMOUS, false)) {
        if (intent.hasExtra(ARG_OAUTH_TOKEN)) {
            mGitHubClient.setOAuth2Token(intent.getStringExtra(ARG_OAUTH_TOKEN));
        } else if (intent.hasExtra(ARG_BASIC_USERNAME) && intent.hasExtra(ARG_BASIC_PASSWORD)) {
            mGitHubClient.setCredentials(intent.getStringExtra(ARG_BASIC_USERNAME), intent.getStringExtra(ARG_BASIC_PASSWORD));
        } else if (intent.hasExtra(ARG_ACCOUNT) && intent.getParcelableExtra(ARG_ACCOUNT) != null) {
            final Account account = intent.getParcelableExtra(ARG_ACCOUNT);
            try {
                final String oauthToken = new OAuthUserProvider().getOAuthResponse(this, account).access_token;
                if (oauthToken != null) {
                    mGitHubClient.setOAuth2Token(oauthToken);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } catch (AccountsException e) {
                e.printStackTrace();
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            }
        }
    }
    if (intent.getAction().equals(ACTION_GET_URI)) {
        final GitHubRequest request = new GitHubRequest();
        request.setUri(intent.getData().toString());
        GitHubResponse response;
        try {
            response = mGitHubClient.get(request);
        } catch (IOException e) {
            response = null;
            e.printStackTrace();
        }
        final Intent resultIntent = new Intent(ACTION_GET_URI, intent.getData());
        if (response != null) {
            resultIntent.putExtra(EXTRA_HAS_NEXT, response.getNext() != null);
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(response.getBody()));
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_EVENTS_LIST_USER_PUBLIC)) {
        final EventService es = new EventService(mGitHubClient);
        ArrayList<Event> result = null;
        PageIterator<Event> iterator = null;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        if (intent.hasExtra(PARAM_LOGIN)) {
            iterator = es.pageUserEvents(intent.getStringExtra(PARAM_LOGIN), true, startPage, REQUEST_PAGE_SIZE);
        }
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<Event>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_EVENTS_LIST_USER_PUBLIC);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_EVENTS_LIST_USER_RECEIVED)) {
        final EventService es = new EventService(mGitHubClient);
        ArrayList<Event> result = null;
        PageIterator<Event> iterator = null;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        if (intent.hasExtra(PARAM_LOGIN)) {
            iterator = es.pageUserReceivedEvents(intent.getStringExtra(PARAM_LOGIN), false, startPage, REQUEST_PAGE_SIZE);
        }
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<Event>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_EVENTS_LIST_USER_RECEIVED);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_EVENTS_LIST_TIMELINE)) {
        final EventService es = new EventService(mGitHubClient);
        ArrayList<Event> result = null;
        PageIterator<Event> iterator;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        iterator = es.pagePublicEvents(startPage, REQUEST_PAGE_SIZE);
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<Event>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_EVENTS_LIST_TIMELINE);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_ISSUES_LIST_SELF)) {
        final IssueService is = new IssueService(mGitHubClient);
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        ArrayList<RepositoryIssue> result = null;
        PageIterator<RepositoryIssue> iterator;
        HashMap<String, String> params = new HashMap<String, String>();
        if (intent.hasExtra(PARAM_FILTER)) {
            params.put("filter", intent.getStringExtra(PARAM_FILTER));
        }
        if (intent.hasExtra(PARAM_STATE)) {
            params.put("state", intent.getStringExtra(PARAM_STATE));
        }
        if (intent.hasExtra(PARAM_LABELS)) {
            params.put("labels", intent.getStringExtra(PARAM_LABELS));
        }
        if (intent.hasExtra(PARAM_SORT)) {
            params.put("sort", intent.getStringExtra(PARAM_SORT));
        }
        if (intent.hasExtra(PARAM_DIRECTION)) {
            params.put("direction", intent.getStringExtra(PARAM_DIRECTION));
        }
        if (intent.hasExtra(PARAM_SINCE)) {
            params.put("since", intent.getStringExtra(PARAM_SINCE));
        }
        iterator = is.pageIssues(params, startPage, REQUEST_PAGE_SIZE);
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<RepositoryIssue>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_ISSUES_LIST_SELF);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_ORGS_SELF_MEMBERSHIPS)) {
        final OrganizationService os = new OrganizationService(mGitHubClient);
        List<User> result;
        try {
            result = os.getOrganizations();
        } catch (IOException e) {
            result = null;
            e.printStackTrace();
        }
        final Intent resultIntent = new Intent(ACTION_ORGS_SELF_MEMBERSHIPS);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_REPOS_GET_REPO)) {
        final RepositoryService rs = new RepositoryService(mGitHubClient);
        Repository result;
        try {
            result = rs.getRepository(intent.getStringExtra(PARAM_REPO_OWNER), intent.getStringExtra(PARAM_REPO_NAME));
        } catch (IOException e) {
            result = null;
            e.printStackTrace();
        }
        final Intent resultIntent = new Intent(ACTION_REPOS_GET_REPO);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_REPOS_LIST_ORG_OWNED)) {
        final RepositoryService rs = new RepositoryService(mGitHubClient);
        ArrayList<Repository> result = null;
        PageIterator<Repository> iterator;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        iterator = rs.pageOrgRepositories(intent.getStringExtra(PARAM_LOGIN), startPage, REQUEST_PAGE_SIZE);
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<Repository>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_REPOS_LIST_ORG_OWNED);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_REPOS_LIST_SELF_OWNED)) {
        final RepositoryService rs = new RepositoryService(mGitHubClient);
        ArrayList<Repository> result = null;
        PageIterator<Repository> iterator;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        Map<String, String> filter = new HashMap<String, String>();
        filter.put("type", "owner");
        filter.put("sort", "pushed");
        iterator = rs.pageRepositories(filter, startPage, REQUEST_PAGE_SIZE);
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<Repository>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_REPOS_LIST_SELF_OWNED);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_REPOS_LIST_USER_OWNED)) {
        final RepositoryService rs = new RepositoryService(mGitHubClient);
        ArrayList<Repository> result = null;
        PageIterator<Repository> iterator;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        iterator = rs.pageRepositories(intent.getStringExtra(PARAM_LOGIN), startPage, REQUEST_PAGE_SIZE);
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<Repository>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_REPOS_LIST_USER_OWNED);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_REPOS_LIST_USER_WATCHED)) {
        final WatcherService ws = new WatcherService(mGitHubClient);
        ArrayList<Repository> result = null;
        PageIterator<Repository> iterator;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        try {
            iterator = ws.pageWatched(intent.getStringExtra(PARAM_LOGIN), startPage, REQUEST_PAGE_SIZE);
        } catch (IOException e) {
            iterator = null;
        }
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<Repository>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_REPOS_LIST_USER_WATCHED);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_USERS_GET_USER)) {
        final UserService us = new UserService(mGitHubClient);
        User result;
        try {
            result = us.getUser(intent.getStringExtra(PARAM_LOGIN));
        } catch (IOException e) {
            result = null;
            e.printStackTrace();
        }
        final Intent resultIntent = new Intent(ACTION_USERS_GET_USER);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_USERS_LIST_FOLLOWERS)) {
        final UserService us = new UserService(mGitHubClient);
        ArrayList<User> result = null;
        PageIterator<User> iterator;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        iterator = us.pageFollowers(intent.getStringExtra(PARAM_LOGIN), startPage, REQUEST_PAGE_SIZE);
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<User>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_USERS_LIST_FOLLOWERS);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    } else if (intent.getAction().equals(ACTION_USERS_LIST_FOLLOWING)) {
        final UserService us = new UserService(mGitHubClient);
        ArrayList<User> result = null;
        PageIterator<User> iterator;
        final int startPage = intent.getIntExtra(ARG_START_PAGE, 1);
        iterator = us.pageFollowing(intent.getStringExtra(PARAM_LOGIN), startPage, REQUEST_PAGE_SIZE);
        if (iterator != null && iterator.hasNext()) {
            result = new ArrayList<User>();
            result.addAll(iterator.next());
        }
        final Intent resultIntent = new Intent(ACTION_USERS_LIST_FOLLOWING);
        if (result != null) {
            resultIntent.putExtra(EXTRA_RESULT_JSON, GsonUtils.toJson(result));
            resultIntent.putExtra(EXTRA_HAS_NEXT, iterator.hasNext());
            resultIntent.putExtra(EXTRA_NEXT_PAGE, iterator.getNextPage());
        } else {
            resultIntent.putExtra(EXTRA_ERROR, true);
        }
        sendBroadcast(resultIntent);
    }
}
Also used : IssueService(org.eclipse.egit.github.core.service.IssueService) Account(android.accounts.Account) User(org.eclipse.egit.github.core.User) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) AccountsException(android.accounts.AccountsException) GitHubRequest(org.eclipse.egit.github.core.client.GitHubRequest) RepositoryIssue(org.eclipse.egit.github.core.RepositoryIssue) GitHubClient(org.eclipse.egit.github.core.client.GitHubClient) ArrayList(java.util.ArrayList) List(java.util.List) RepositoryService(org.eclipse.egit.github.core.service.RepositoryService) GitHubResponse(org.eclipse.egit.github.core.client.GitHubResponse) UserService(org.eclipse.egit.github.core.service.UserService) Intent(android.content.Intent) EventService(org.eclipse.egit.github.core.service.EventService) IOException(java.io.IOException) OrganizationService(org.eclipse.egit.github.core.service.OrganizationService) Repository(org.eclipse.egit.github.core.Repository) OAuthUserProvider(net.idlesoft.android.apps.github.authenticator.OAuthUserProvider) PageIterator(org.eclipse.egit.github.core.client.PageIterator) WatcherService(org.eclipse.egit.github.core.service.WatcherService) Event(org.eclipse.egit.github.core.event.Event)

Aggregations

GitHubClient (org.eclipse.egit.github.core.client.GitHubClient)16 Intent (android.content.Intent)3 IOException (java.io.IOException)3 DataService (org.eclipse.egit.github.core.service.DataService)3 RepositoryService (org.eclipse.egit.github.core.service.RepositoryService)3 WatcherService (org.eclipse.egit.github.core.service.WatcherService)3 ArrayList (java.util.ArrayList)2 OAuthUserProvider (net.idlesoft.android.apps.github.authenticator.OAuthUserProvider)2 User (org.eclipse.egit.github.core.User)2 UserService (org.eclipse.egit.github.core.service.UserService)2 Account (android.accounts.Account)1 AccountsException (android.accounts.AccountsException)1 NetworkErrorException (android.accounts.NetworkErrorException)1 SharedPreferences (android.content.SharedPreferences)1 Rect (android.graphics.Rect)1 Drawable (android.graphics.drawable.Drawable)1 Bundle (android.os.Bundle)1 SparseBooleanArray (android.util.SparseBooleanArray)1 View (android.view.View)1 WebSettings (android.webkit.WebSettings)1