diff --git a/app/src/main/java/com/fastaccess/data/dao/CommitCountModel.java b/app/src/main/java/com/fastaccess/data/dao/CommitCountModel.java new file mode 100644 index 00000000..22802147 --- /dev/null +++ b/app/src/main/java/com/fastaccess/data/dao/CommitCountModel.java @@ -0,0 +1,41 @@ +package com.fastaccess.data.dao; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.ArrayList; +import java.util.List; + +import lombok.Getter; +import lombok.Setter; + +/** + * Created by Kosh on 01 Apr 2017, 12:42 PM + */ +@Getter @Setter public class CommitCountModel implements Parcelable { + + private List all; + private List owner; + + @Override public int describeContents() { return 0; } + + @Override public void writeToParcel(Parcel dest, int flags) { + dest.writeList(this.all); + dest.writeList(this.owner); + } + + public CommitCountModel() {} + + protected CommitCountModel(Parcel in) { + this.all = new ArrayList(); + in.readList(this.all, Integer.class.getClassLoader()); + this.owner = new ArrayList(); + in.readList(this.owner, Integer.class.getClassLoader()); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override public CommitCountModel createFromParcel(Parcel source) {return new CommitCountModel(source);} + + @Override public CommitCountModel[] newArray(int size) {return new CommitCountModel[size];} + }; +} diff --git a/app/src/main/java/com/fastaccess/data/service/RepoService.java b/app/src/main/java/com/fastaccess/data/service/RepoService.java index b68fed16..418aff50 100644 --- a/app/src/main/java/com/fastaccess/data/service/RepoService.java +++ b/app/src/main/java/com/fastaccess/data/service/RepoService.java @@ -4,6 +4,7 @@ import android.support.annotation.NonNull; import com.fastaccess.data.dao.BranchesModel; import com.fastaccess.data.dao.CommentRequestModel; +import com.fastaccess.data.dao.CommitCountModel; import com.fastaccess.data.dao.CreateMilestoneModel; import com.fastaccess.data.dao.LabelModel; import com.fastaccess.data.dao.MarkdownModel; @@ -128,4 +129,7 @@ public interface RepoService { @NonNull @GET("repos/{owner}/{repo}/assignees") Observable> getAssignees(@Path("owner") String owner, @Path("repo") String repo); + + @NonNull @GET("/repos/{owner}/{repo}/stats/participation") + Observable getCommitCounts(@Path("owner") String owner, @Path("repo") String repo); } diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerMvp.java index 88c55dc9..4d92ec91 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerMvp.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerMvp.java @@ -1,6 +1,7 @@ package com.fastaccess.ui.modules.repos.code; import com.fastaccess.ui.base.mvp.BaseMvp; +import com.fastaccess.ui.modules.repos.RepoPagerMvp; /** * Created by Kosh on 31 Dec 2016, 1:35 AM @@ -8,7 +9,7 @@ import com.fastaccess.ui.base.mvp.BaseMvp; public interface RepoCodePagerMvp { - interface View extends BaseMvp.FAView { + interface View extends BaseMvp.FAView, RepoPagerMvp.TabsBadgeListener { boolean canPressBack(); void onBackPressed(); diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerView.java b/app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerView.java index 5e7db2ee..11c2b91d 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerView.java @@ -5,6 +5,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.view.View; +import android.widget.TextView; import com.annimon.stream.Objects; import com.fastaccess.R; @@ -12,9 +13,11 @@ import com.fastaccess.data.dao.FragmentPagerAdapterModel; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.Bundler; import com.fastaccess.helper.InputHelper; +import com.fastaccess.helper.ViewHelper; import com.fastaccess.ui.adapter.FragmentsPagerAdapter; import com.fastaccess.ui.base.BaseFragment; import com.fastaccess.ui.modules.repos.code.files.paths.RepoFilePathView; +import com.fastaccess.ui.widgets.SpannableBuilder; import com.fastaccess.ui.widgets.ViewPagerView; import butterknife.BindView; @@ -77,4 +80,16 @@ public class RepoCodePagerView extends BaseFragment implements login = bundle.getString(BundleConstant.EXTRA); branch = bundle.getString(BundleConstant.EXTRA_TWO); if (branches.isEmpty()) { +// manageSubscription(RxHelper.safeObservable(RxHelper.getObserver(RestProvider.getRepoService() +// .getCommitCounts(login, repoId))) +// .map(commitCountModel -> Stream.of(commitCountModel.getAll()).mapToLong(Integer::longValue).sum()) +// .subscribe(sum -> sendToView(view -> view.onShowCommitCount(sum)))); makeRestCall(RestProvider.getRepoService() .getBranches(login, repoId) .doOnSubscribe(() -> sendToView(RepoCommitsMvp.View::showBranchesProgress)), diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/RepoCommitsView.java b/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/RepoCommitsView.java index f25a5829..792b2d07 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/RepoCommitsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/RepoCommitsView.java @@ -41,6 +41,7 @@ public class RepoCommitsView extends BaseFragment