Search in sources :

Example 26 with User

use of com.meisolsson.githubsdk.model.User in project PocketHub by pockethub.

the class RepositoryViewActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    repository = getParcelableExtra(EXTRA_REPOSITORY);
    loadingBar = finder.find(R.id.progress_bar);
    User owner = repository.owner();
    ActionBar actionBar = getSupportActionBar();
    actionBar.setTitle(repository.name());
    actionBar.setSubtitle(owner.login());
    actionBar.setDisplayHomeAsUpEnabled(true);
    if (owner.avatarUrl() != null && RepositoryUtils.isComplete(repository)) {
        checkReadme();
    } else {
        avatars.bind(getSupportActionBar(), owner);
        ViewUtils.setGone(loadingBar, false);
        setGone(true);
        ServiceGenerator.createService(this, RepositoryService.class).getRepository(repository.owner().login(), repository.name()).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).compose(this.<Repository>bindToLifecycle()).subscribe(new ObserverAdapter<Repository>() {

            @Override
            public void onSuccess(Repository repo) {
                repository = repo;
                checkReadme();
            }

            @Override
            public void onError(Throwable e) {
                ToastUtils.show(RepositoryViewActivity.this, R.string.error_repo_load);
                ViewUtils.setGone(loadingBar, true);
            }
        });
    }
}
Also used : Repository(com.meisolsson.githubsdk.model.Repository) User(com.meisolsson.githubsdk.model.User) ActionBar(android.support.v7.app.ActionBar) RepositoryService(com.meisolsson.githubsdk.service.repositories.RepositoryService)

Example 27 with User

use of com.meisolsson.githubsdk.model.User in project PocketHub by pockethub.

the class UserEventMatcher method getUsers.

/**
     * Get {@link UserPair} from event
     *
     * @param event
     * @return user or null if event doesn't apply
     */
public UserPair getUsers(final GitHubEvent event) {
    if (event == null || event.payload() == null) {
        return null;
    }
    GitHubEventType type = event.type();
    if (GitHubEventType.FollowEvent.equals(type)) {
        User from = event.actor();
        User to = ((FollowPayload) event.payload()).target();
        if (from != null && to != null) {
            return new UserPair(from, to);
        }
    }
    return null;
}
Also used : User(com.meisolsson.githubsdk.model.User) FollowPayload(com.meisolsson.githubsdk.model.payload.FollowPayload) GitHubEventType(com.meisolsson.githubsdk.model.GitHubEventType)

Example 28 with User

use of com.meisolsson.githubsdk.model.User in project PocketHub by pockethub.

the class NewsFragment method onListItemLongClick.

@Override
public boolean onListItemLongClick(ListView l, View v, int position, long itemId) {
    if (!isUsable()) {
        return false;
    }
    final GitHubEvent event = (GitHubEvent) l.getItemAtPosition(position);
    final Repository repo = ConvertUtils.eventRepoToRepo(event.repo());
    final User user = event.actor();
    if (repo != null && user != null) {
        final MaterialDialog.Builder builder = new MaterialDialog.Builder(getActivity()).title(R.string.navigate_to);
        // Hacky but necessary since material dialogs has a different API
        final MaterialDialog[] dialogHolder = new MaterialDialog[1];
        View view = getActivity().getLayoutInflater().inflate(R.layout.nav_dialog, null);
        ViewFinder finder = new ViewFinder(view);
        avatars.bind(finder.imageView(R.id.iv_user_avatar), user);
        avatars.bind(finder.imageView(R.id.iv_repo_avatar), repo.owner());
        finder.setText(R.id.tv_login, user.login());
        finder.setText(R.id.tv_repo_name, InfoUtils.createRepoId(repo));
        finder.onClick(R.id.ll_user_area, new OnClickListener() {

            @Override
            public void onClick(View v) {
                dialogHolder[0].dismiss();
                viewUser(user);
            }
        });
        finder.onClick(R.id.ll_repo_area, new OnClickListener() {

            @Override
            public void onClick(View v) {
                dialogHolder[0].dismiss();
                viewRepository(repo);
            }
        });
        builder.customView(view, false);
        MaterialDialog dialog = builder.build();
        dialogHolder[0] = dialog;
        dialog.setCanceledOnTouchOutside(true);
        dialog.show();
        return true;
    }
    return false;
}
Also used : Repository(com.meisolsson.githubsdk.model.Repository) User(com.meisolsson.githubsdk.model.User) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) ViewFinder(com.github.kevinsawicki.wishlist.ViewFinder) OnClickListener(android.view.View.OnClickListener) GitHubEvent(com.meisolsson.githubsdk.model.GitHubEvent) View(android.view.View) ListView(android.widget.ListView)

Example 29 with User

use of com.meisolsson.githubsdk.model.User in project PocketHub by pockethub.

the class OrganizationRepositories method loadFrom.

@Override
public Repository loadFrom(Cursor cursor) {
    User owner = User.builder().login(cursor.getString(3)).id(cursor.getInt(2)).avatarUrl(cursor.getString(4)).build();
    Permissions permissions = Permissions.builder().admin(cursor.getInt(13) == 1).push(cursor.getInt(14) == 1).pull(cursor.getInt(15) == 1).build();
    return Repository.builder().owner(owner).name(cursor.getString(1)).id(cursor.getLong(0)).isPrivate(cursor.getInt(5) == 1).isFork(cursor.getInt(6) == 1).description(cursor.getString(7)).forksCount(cursor.getInt(8)).watchersCount(cursor.getInt(9)).language(cursor.getString(10)).hasIssues(cursor.getInt(11) == 1).mirrorUrl(cursor.getString(12)).permissions(permissions).build();
}
Also used : User(com.meisolsson.githubsdk.model.User) Permissions(com.meisolsson.githubsdk.model.Permissions)

Example 30 with User

use of com.meisolsson.githubsdk.model.User in project PocketHub by pockethub.

the class Organizations method store.

@Override
public void store(SQLiteDatabase db, List<User> orgs) {
    db.delete("orgs", null, null);
    if (orgs.isEmpty()) {
        return;
    }
    ContentValues values = new ContentValues(3);
    for (User user : orgs) {
        values.clear();
        values.put("id", user.id());
        db.replace("orgs", null, values);
        values.put("name", user.login());
        values.put("avatarurl", user.avatarUrl());
        db.replace("users", null, values);
    }
}
Also used : ContentValues(android.content.ContentValues) User(com.meisolsson.githubsdk.model.User)

Aggregations

User (com.meisolsson.githubsdk.model.User)61 Repository (com.meisolsson.githubsdk.model.Repository)10 ActionBar (android.support.v7.app.ActionBar)6 ArrayList (java.util.ArrayList)5 Activity (android.app.Activity)4 RecentRepositories (com.github.pockethub.android.ui.repo.RecentRepositories)4 GitHubEvent (com.meisolsson.githubsdk.model.GitHubEvent)4 UserService (com.meisolsson.githubsdk.service.users.UserService)4 Bundle (android.os.Bundle)3 View (android.view.View)3 ListView (android.widget.ListView)3 MaterialDialog (com.afollestad.materialdialogs.MaterialDialog)3 ThrowableLoader (com.github.pockethub.android.ThrowableLoader)3 StyledText (com.github.pockethub.android.ui.StyledText)3 Label (com.meisolsson.githubsdk.model.Label)3 Milestone (com.meisolsson.githubsdk.model.Milestone)3 Account (android.accounts.Account)2 ContentValues (android.content.ContentValues)2 UiThreadTest (android.test.UiThreadTest)2 OnClickListener (android.view.View.OnClickListener)2