Android Open Source - protohipster Like Data Source Parse






From Project

Back to project page protohipster.

License

The source code is released under:

Apache License

If you think the Android project protohipster listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.flipper83.protohipster.feed.datasource.module;
/*from   w  w  w . ja  v  a2  s  .  c  o m*/
import com.flipper83.protohipster.feed.datasource.api.Api;
import com.flipper83.protohipster.feed.datasource.api.call.parse.GetLikesCall;
import com.flipper83.protohipster.feed.datasource.api.call.parse.LikeUserCall;
import com.flipper83.protohipster.feed.datasource.api.call.parse.response.GetLikesResponse;
import com.flipper83.protohipster.feed.datasource.api.callback.ApiResponseCallback;
import com.flipper83.protohipster.feed.datasource.interfaces.LikeDataSource;
import com.flipper83.protohipster.feed.datasource.interfaces.callbacks.GetCountLikesCallback;
import com.flipper83.protohipster.feed.datasource.interfaces.callbacks.GetMyLikersCallback;
import com.flipper83.protohipster.feed.datasource.interfaces.callbacks.LikeUserCallback;
import com.flipper83.protohipster.globalutils.cache.Cache;

import java.util.List;
import java.util.Map;

import javax.inject.Inject;
import javax.inject.Named;


/**
 * implementation for UserDataSource
 */
class LikeDataSourceParse implements LikeDataSource {


    Api api;
    Cache myLikers;
    private GetCountLikesCallback getCountLikesCallback;
    private LikeUserCallback likeUserCallback;


    @Inject
    LikeDataSourceParse(@Named("ApiParse") Api api,@Named("MapKeysCache") Cache myLikers) {
        this.api = api;
        this.myLikers = myLikers;
    }

    @Override
    public void getCountLikesForUser(List<String> userIds,
                                     GetCountLikesCallback getCountLikesCallback) {
        this.getCountLikesCallback = getCountLikesCallback;

        api.call(new GetLikesCall(userIds, responseGetLikesCall));
    }

    @Override
    public void getMyLikers(GetMyLikersCallback getMyLikersCallback) {
        getMyLikersCallback.myLikers(myLikers.getAllValues());
    }

    @Override
    public void likeUser(String userId, LikeUserCallback likeUserCallback) {
        myLikers.put(userId,userId);
        this.likeUserCallback = likeUserCallback;
        api.call(new LikeUserCall(userId,responseLikeUserCall));
    }

    private ApiResponseCallback<String> responseLikeUserCall = new ApiResponseCallback<String>() {
        @Override
        public void complete(String response) {
            String userId = response;
            likeUserCallback.liked(userId);
        }
    };

    ApiResponseCallback<GetLikesResponse> responseGetLikesCall =
            new ApiResponseCallback<GetLikesResponse>() {
        @Override
        public void complete(GetLikesResponse response) {
            Map<String, Integer> allCountLikers = response.getAllLikers();
            getCountLikesCallback.countUsers(allCountLikers);
        }
    };
}




Java Source Code List

com.flipper83.protohipster.daggerUtils.ForApplication.java
com.flipper83.protohipster.feed.datasource.api.Api.java
com.flipper83.protohipster.feed.datasource.api.call.ApiCall.java
com.flipper83.protohipster.feed.datasource.api.call.parse.GetLikesCall.java
com.flipper83.protohipster.feed.datasource.api.call.parse.LikeUserCall.java
com.flipper83.protohipster.feed.datasource.api.call.parse.ParseLikeTableDefinitions.java
com.flipper83.protohipster.feed.datasource.api.call.parse.response.GetLikesResponse.java
com.flipper83.protohipster.feed.datasource.api.call.rest.ApiRestCall.java
com.flipper83.protohipster.feed.datasource.api.call.rest.GetFeedCall.java
com.flipper83.protohipster.feed.datasource.api.call.rest.request.GetFeedRequest.java
com.flipper83.protohipster.feed.datasource.api.call.rest.response.GetFeedResponse.java
com.flipper83.protohipster.feed.datasource.api.callback.ApiResponseCallback.java
com.flipper83.protohipster.feed.datasource.api.model.UserApiEntry.java
com.flipper83.protohipster.feed.datasource.api.model.UserApiName.java
com.flipper83.protohipster.feed.datasource.api.model.UserApi.java
com.flipper83.protohipster.feed.datasource.interfaces.LikeDataSource.java
com.flipper83.protohipster.feed.datasource.interfaces.UserDataSource.java
com.flipper83.protohipster.feed.datasource.interfaces.callbacks.GetCountLikesCallback.java
com.flipper83.protohipster.feed.datasource.interfaces.callbacks.GetMyLikersCallback.java
com.flipper83.protohipster.feed.datasource.interfaces.callbacks.GetUserCallback.java
com.flipper83.protohipster.feed.datasource.interfaces.callbacks.LikeUserCallback.java
com.flipper83.protohipster.feed.datasource.module.DataSourceModule.java
com.flipper83.protohipster.feed.datasource.module.LikeDataSourceParse.java
com.flipper83.protohipster.feed.datasource.module.UserDataSourceImp.java
com.flipper83.protohipster.feed.datasource.module.api.ApiParse.java
com.flipper83.protohipster.feed.datasource.module.api.ApiRest.java
com.flipper83.protohipster.feed.domain.boundaries.FeedBoundary.java
com.flipper83.protohipster.feed.domain.boundaries.HipsterBoundary.java
com.flipper83.protohipster.feed.domain.boundaries.VotesBoundary.java
com.flipper83.protohipster.feed.domain.gateway.Hipster.java
com.flipper83.protohipster.feed.domain.interactors.GetFeed.java
com.flipper83.protohipster.feed.domain.interactors.GetMyLikers.java
com.flipper83.protohipster.feed.domain.interactors.LikeHipster.java
com.flipper83.protohipster.feed.domain.mappers.HipsterMapperManual.java
com.flipper83.protohipster.feed.domain.mappers.HipsterMapper.java
com.flipper83.protohipster.feed.domain.module.DomainModule.java
com.flipper83.protohipster.feed.domain.module.GetFeedImpl.java
com.flipper83.protohipster.feed.domain.module.GetMyLikersImpl.java
com.flipper83.protohipster.feed.domain.module.LikeHipsterImp.java
com.flipper83.protohipster.feed.view.module.FeedViewModule.java
com.flipper83.protohipster.feed.view.provider.FeedProvider.java
com.flipper83.protohipster.feed.view.ui.FeedAdapter.java
com.flipper83.protohipster.feed.view.ui.HipsterListFragment.java
com.flipper83.protohipster.feed.view.ui.ProtoActivity.java
com.flipper83.protohipster.feed.view.viewmodel.FeedViewModel.java
com.flipper83.protohipster.feed.view.viewmodel.HipsterViewModel.java
com.flipper83.protohipster.feed.view.viewmodel.mapper.HipsterViewMapperManual.java
com.flipper83.protohipster.feed.view.viewmodel.mapper.HipsterViewMapper.java
com.flipper83.protohipster.globalutils.cache.Cache.java
com.flipper83.protohipster.globalutils.cache.implementations.MapKeysCache.java
com.flipper83.protohipster.globalutils.interfaces.Logger.java
com.flipper83.protohipster.globalutils.module.AndroidModule.java
com.flipper83.protohipster.globalutils.module.GlobalModule.java
com.flipper83.protohipster.globalutils.module.LoggerProvider.java
com.flipper83.protohipster.globalutils.module.TLog.java
com.flipper83.protohipster.globalutils.rating.RatingCalculatorFiveStars.java
com.flipper83.protohipster.globalutils.rating.RatingCalculator.java
com.flipper83.protohipster.uibase.app.ProtoApplication.java
com.flipper83.protohipster.uibase.base.BaseActivity.java
com.flipper83.protohipster.uibase.base.BaseFragment.java
com.flipper83.protohipster.uibase.transformation.TransformationBuilder.java
com.flipper83.protohipster.uibase.transformation.privates.RoundAvatarTransformation.java
com.flipper83.protohipster.uibase.transformation.privates.TransformationBuilderPicasso.java