Search in sources :

Example 1 with ReactionService

use of com.meisolsson.githubsdk.service.reactions.ReactionService in project gh4a by slapperwan.

the class CommitDiffViewerActivity method loadReactionDetails.

@Override
public Single<List<Reaction>> loadReactionDetails(ReactionBar.Item item, boolean bypassCache) {
    final CommitCommentWrapper comment = (CommitCommentWrapper) item;
    final ReactionService service = ServiceFactory.get(ReactionService.class, bypassCache);
    return ApiHelpers.PageIterator.toSingle(page -> service.getCommitCommentReactions(mRepoOwner, mRepoName, comment.comment.id(), page));
}
Also used : ReactionService(com.meisolsson.githubsdk.service.reactions.ReactionService)

Example 2 with ReactionService

use of com.meisolsson.githubsdk.service.reactions.ReactionService in project gh4a by slapperwan.

the class IssueFragmentBase method addReaction.

@Override
public Single<Reaction> addReaction(ReactionBar.Item item, String content) {
    ReactionService service = ServiceFactory.get(ReactionService.class, false);
    ReactionRequest request = ReactionRequest.builder().content(content).build();
    return service.createIssueReaction(mRepoOwner, mRepoName, mIssue.number(), request).map(ApiHelpers::throwOnFailure);
}
Also used : ReactionRequest(com.meisolsson.githubsdk.model.request.ReactionRequest) ReactionService(com.meisolsson.githubsdk.service.reactions.ReactionService) ApiHelpers(com.gh4a.utils.ApiHelpers)

Example 3 with ReactionService

use of com.meisolsson.githubsdk.service.reactions.ReactionService in project gh4a by slapperwan.

the class CommitNoteAdapter method loadReactionDetails.

@Override
public Single<List<Reaction>> loadReactionDetails(ReactionBar.Item item, boolean bypassCache) {
    final GitComment comment = ((ViewHolder) item).mBoundItem;
    final ReactionService service = ServiceFactory.get(ReactionService.class, bypassCache);
    return ApiHelpers.PageIterator.toSingle(page -> service.getCommitCommentReactions(mRepoOwner, mRepoName, comment.id(), page));
}
Also used : ReactionService(com.meisolsson.githubsdk.service.reactions.ReactionService) GitComment(com.meisolsson.githubsdk.model.git.GitComment)

Example 4 with ReactionService

use of com.meisolsson.githubsdk.service.reactions.ReactionService in project gh4a by slapperwan.

the class ReactionBar method toggleReaction.

private static Single<Optional<Reaction>> toggleReaction(String content, long id, List<Reaction> existingDetails, Callback callback, Item item, ReactionDetailsCache cache) {
    final Single<Optional<Reaction>> resultSingle;
    if (id == 0) {
        resultSingle = callback.addReaction(item, content).map(Optional::of);
    } else {
        ReactionService service = ServiceFactory.get(ReactionService.class, false);
        resultSingle = service.deleteReaction(id).map(response -> Optional.absent());
    }
    return resultSingle.compose(RxUtils::doInBackground).doOnSuccess(reactionOpt -> {
        if (reactionOpt.isPresent()) {
            existingDetails.add(reactionOpt.get());
        } else {
            for (int i = 0; i < existingDetails.size(); i++) {
                Reaction reaction = existingDetails.get(i);
                if (reaction.id() == id) {
                    existingDetails.remove(i);
                    break;
                }
            }
        }
        cache.putEntry(item, existingDetails);
    });
}
Also used : Context(android.content.Context) LinearLayout(android.widget.LinearLayout) MenuBuilder(android.support.v7.view.menu.MenuBuilder) DrawableCompat(android.support.v4.graphics.drawable.DrawableCompat) ImageView(android.widget.ImageView) HashMap(java.util.HashMap) NonNull(android.support.annotation.NonNull) Drawable(android.graphics.drawable.Drawable) Single(io.reactivex.Single) MenuItem(android.view.MenuItem) UserActivity(com.gh4a.activities.UserActivity) UiUtils(com.gh4a.utils.UiUtils) ArrayList(java.util.ArrayList) User(com.meisolsson.githubsdk.model.User) AttributeSet(android.util.AttributeSet) Reaction(com.meisolsson.githubsdk.model.Reaction) AvatarHandler(com.gh4a.utils.AvatarHandler) MenuPopupHelper(android.support.v7.view.menu.MenuPopupHelper) Menu(android.view.Menu) R(com.gh4a.R) View(android.view.View) Reactions(com.meisolsson.githubsdk.model.Reactions) Log(android.util.Log) Parcelable(android.os.Parcelable) ApiHelpers(com.gh4a.utils.ApiHelpers) ReactionService(com.meisolsson.githubsdk.service.reactions.ReactionService) LayoutInflater(android.view.LayoutInflater) PopupMenu(android.support.v7.widget.PopupMenu) TextUtils(android.text.TextUtils) PorterDuff(android.graphics.PorterDuff) ViewGroup(android.view.ViewGroup) IdRes(android.support.annotation.IdRes) ColorInt(android.support.annotation.ColorInt) List(java.util.List) TextView(android.widget.TextView) RxUtils(com.gh4a.utils.RxUtils) BaseAdapter(android.widget.BaseAdapter) Gh4Application(com.gh4a.Gh4Application) LayoutRes(android.support.annotation.LayoutRes) Optional(com.gh4a.utils.Optional) Nullable(android.support.annotation.Nullable) ServiceFactory(com.gh4a.ServiceFactory) ListPopupWindow(android.support.v7.widget.ListPopupWindow) Optional(com.gh4a.utils.Optional) ReactionService(com.meisolsson.githubsdk.service.reactions.ReactionService) Reaction(com.meisolsson.githubsdk.model.Reaction)

Example 5 with ReactionService

use of com.meisolsson.githubsdk.service.reactions.ReactionService in project gh4a by slapperwan.

the class ReviewFragment method addReaction.

@Override
public Single<Reaction> addReaction(GitHubCommentBase comment, String content) {
    final ReactionService service = ServiceFactory.get(ReactionService.class, false);
    final ReactionRequest request = ReactionRequest.builder().content(content).build();
    final Single<Response<Reaction>> responseSingle = comment instanceof ReviewComment ? service.createPullRequestReviewCommentReaction(mRepoOwner, mRepoName, comment.id(), request) : service.createIssueCommentReaction(mRepoOwner, mRepoName, comment.id(), request);
    return responseSingle.map(ApiHelpers::throwOnFailure);
}
Also used : ReactionRequest(com.meisolsson.githubsdk.model.request.ReactionRequest) Response(retrofit2.Response) CreateReviewComment(com.meisolsson.githubsdk.model.request.pull_request.CreateReviewComment) ReviewComment(com.meisolsson.githubsdk.model.ReviewComment) ReactionService(com.meisolsson.githubsdk.service.reactions.ReactionService) ApiHelpers(com.gh4a.utils.ApiHelpers)

Aggregations

ReactionService (com.meisolsson.githubsdk.service.reactions.ReactionService)10 ApiHelpers (com.gh4a.utils.ApiHelpers)7 ReactionRequest (com.meisolsson.githubsdk.model.request.ReactionRequest)5 GitComment (com.meisolsson.githubsdk.model.git.GitComment)2 Context (android.content.Context)1 PorterDuff (android.graphics.PorterDuff)1 Drawable (android.graphics.drawable.Drawable)1 Parcelable (android.os.Parcelable)1 ColorInt (android.support.annotation.ColorInt)1 IdRes (android.support.annotation.IdRes)1 LayoutRes (android.support.annotation.LayoutRes)1 NonNull (android.support.annotation.NonNull)1 Nullable (android.support.annotation.Nullable)1 DrawableCompat (android.support.v4.graphics.drawable.DrawableCompat)1 MenuBuilder (android.support.v7.view.menu.MenuBuilder)1 MenuPopupHelper (android.support.v7.view.menu.MenuPopupHelper)1 ListPopupWindow (android.support.v7.widget.ListPopupWindow)1 PopupMenu (android.support.v7.widget.PopupMenu)1 TextUtils (android.text.TextUtils)1 AttributeSet (android.util.AttributeSet)1