Search in sources :

Example 61 with User

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

the class NewsFragment method onItemLongClick.

@Override
public boolean onItemLongClick(@NonNull Item item, @NonNull View view) {
    if (!isAdded()) {
        return false;
    }
    if (!(item instanceof NewsItem)) {
        return false;
    }
    final GitHubEvent event = ((NewsItem) item).getGitHubEvent();
    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 dialogView = getActivity().getLayoutInflater().inflate(R.layout.nav_dialog, null);
        avatars.bind((ImageView) dialogView.findViewById(R.id.iv_user_avatar), user);
        avatars.bind((ImageView) dialogView.findViewById(R.id.iv_repo_avatar), repo.owner());
        ((TextView) dialogView.findViewById(R.id.tv_login)).setText(user.login());
        ((TextView) dialogView.findViewById(R.id.tv_repo_name)).setText(InfoUtils.createRepoId(repo));
        dialogView.findViewById(R.id.ll_user_area).setOnClickListener(v1 -> {
            dialogHolder[0].dismiss();
            viewUser(user);
        });
        dialogView.findViewById(R.id.ll_repo_area).setOnClickListener(v1 -> {
            dialogHolder[0].dismiss();
            viewRepository(repo);
        });
        builder.customView(dialogView, 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) TextView(android.widget.TextView) GitHubEvent(com.meisolsson.githubsdk.model.GitHubEvent) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) NewsItem(com.github.pockethub.android.ui.item.news.NewsItem)

Example 62 with User

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

the class SearchUserListFragment method onItemClick.

@Override
public void onItemClick(@NonNull Item item, @NonNull View view) {
    if (item instanceof UserItem) {
        User result = ((UserItem) item).getUser();
        ServiceGenerator.createService(getContext(), UserService.class).getUser(result.login()).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).as(AutoDisposeUtils.bindToLifecycle(this)).subscribe(response -> startActivity(UserViewActivity.createIntent(response.body())));
    }
}
Also used : User(com.meisolsson.githubsdk.model.User) UserService(com.meisolsson.githubsdk.service.users.UserService) UserItem(com.github.pockethub.android.ui.item.UserItem)

Example 63 with User

use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.

the class UserFragment method fillOrganizations.

private void fillOrganizations(List<User> organizations) {
    ViewGroup llOrgs = mContentView.findViewById(R.id.ll_orgs);
    LinearLayout llOrg = mContentView.findViewById(R.id.ll_org);
    int count = organizations != null ? organizations.size() : 0;
    LayoutInflater inflater = getLayoutInflater();
    llOrg.removeAllViews();
    llOrgs.setVisibility(count > 0 ? View.VISIBLE : View.GONE);
    for (int i = 0; i < count; i++) {
        User org = organizations.get(i);
        View rowView = inflater.inflate(R.layout.selectable_label_with_avatar, llOrg, false);
        rowView.setOnClickListener(this);
        rowView.setTag(org);
        ImageView avatar = rowView.findViewById(R.id.iv_gravatar);
        AvatarHandler.assignAvatar(avatar, org);
        TextView nameView = rowView.findViewById(R.id.tv_title);
        nameView.setText(org.login());
        llOrg.addView(rowView);
    }
}
Also used : User(com.meisolsson.githubsdk.model.User) ViewGroup(android.view.ViewGroup) LayoutInflater(android.view.LayoutInflater) TextView(android.widget.TextView) ImageView(android.widget.ImageView) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) LinearLayout(android.widget.LinearLayout)

Example 64 with User

use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.

the class UserFragment method onClick.

@Override
public void onClick(View view) {
    int id = view.getId();
    Intent intent = null;
    if (id == R.id.cell_followers) {
        if (mUser.type() == UserType.Organization) {
            intent = OrganizationMemberListActivity.makeIntent(getActivity(), mUser.login());
        } else {
            intent = FollowerFollowingListActivity.makeIntent(getActivity(), mUser.login(), true);
        }
    } else if (id == R.id.cell_following) {
        intent = FollowerFollowingListActivity.makeIntent(getActivity(), mUser.login(), false);
    } else if (id == R.id.cell_repos || id == R.id.btn_repos) {
        intent = RepositoryListActivity.makeIntent(getActivity(), mUser.login(), mUser.type() == UserType.Organization);
    } else if (id == R.id.cell_gists) {
        intent = GistListActivity.makeIntent(getActivity(), mUser.login());
    } else if (id == R.id.cell_org_members) {
        intent = OrganizationMemberListActivity.makeIntent(getActivity(), mUser.login());
    } else if (view.getTag() instanceof Repository) {
        intent = RepositoryActivity.makeIntent(getActivity(), (Repository) view.getTag());
    } else if (view.getTag() instanceof User) {
        intent = UserActivity.makeIntent(getActivity(), (User) view.getTag());
    }
    if (intent != null) {
        startActivity(intent);
    }
}
Also used : Repository(com.meisolsson.githubsdk.model.Repository) User(com.meisolsson.githubsdk.model.User) Intent(android.content.Intent)

Example 65 with User

use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.

the class IssueFragmentBase method onClick.

@Override
public void onClick(View v) {
    if (v.getId() == R.id.tv_extra) {
        User user = (User) v.getTag();
        addText(StringUtils.formatMention(getContext(), user));
        return;
    }
    Intent intent = UserActivity.makeIntent(getActivity(), (User) v.getTag());
    if (intent != null) {
        startActivity(intent);
    }
}
Also used : User(com.meisolsson.githubsdk.model.User) Intent(android.content.Intent)

Aggregations

User (com.meisolsson.githubsdk.model.User)97 Repository (com.meisolsson.githubsdk.model.Repository)15 View (android.view.View)14 Intent (android.content.Intent)13 TextView (android.widget.TextView)11 ImageView (android.widget.ImageView)10 ArrayList (java.util.ArrayList)10 Test (org.junit.Test)10 Label (com.meisolsson.githubsdk.model.Label)9 Milestone (com.meisolsson.githubsdk.model.Milestone)8 Bundle (android.os.Bundle)7 ApiHelpers (com.gh4a.utils.ApiHelpers)7 GitHubEvent (com.meisolsson.githubsdk.model.GitHubEvent)7 UserService (com.meisolsson.githubsdk.service.users.UserService)7 SmallTest (androidx.test.filters.SmallTest)6 List (java.util.List)6 ViewGroup (android.view.ViewGroup)5 AvatarHandler (com.gh4a.utils.AvatarHandler)5 UiUtils (com.gh4a.utils.UiUtils)5 Issue (com.meisolsson.githubsdk.model.Issue)5