99import android .view .View ;
1010import android .view .ViewGroup ;
1111import android .view .ViewTreeObserver ;
12+ import android .widget .TextView ;
1213
1314import com .tpb .animatingrecyclerview .AnimatingRecyclerView ;
1415import com .tpb .github .data .APIHandler ;
1516import com .tpb .github .data .Loader ;
1617import com .tpb .github .data .models .Commit ;
18+ import com .tpb .github .data .models .CompleteStatus ;
19+ import com .tpb .github .data .models .Status ;
20+ import com .tpb .mdtext .Markdown ;
21+ import com .tpb .mdtext .views .MarkdownTextView ;
1722import com .tpb .projects .R ;
1823import com .tpb .projects .commits .CommitActivity ;
1924import com .tpb .projects .commits .CommitDiffAdapter ;
20- import com .tpb .projects .flow .IntentHandler ;
21- import com .tpb .mdtext .Markdown ;
22- import com .tpb .projects .markdown .Spanner ;
2325import com .tpb .projects .common .FixedLinearLayoutManger ;
2426import com .tpb .projects .common .NetworkImageView ;
27+ import com .tpb .projects .flow .IntentHandler ;
28+ import com .tpb .projects .markdown .Spanner ;
2529import com .tpb .projects .util .Util ;
2630
27- import com .tpb .mdtext .views .MarkdownTextView ;
28-
2931import java .util .Date ;
3032
3133import butterknife .BindView ;
3739 */
3840
3941public class CommitInfoFragment extends CommitFragment {
42+ private static final String TAG = CommitInfoFragment .class .getSimpleName ();
4043
4144 private Unbinder unbinder ;
4245
@@ -66,6 +69,7 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
6669 mRecyclerView .setLayoutManager (new FixedLinearLayoutManger (getContext ()));
6770 mRecyclerView .setAdapter (mAdapter );
6871 mRefresher .setOnRefreshListener (() -> {
72+ ButterKnife .findById (getActivity (), R .id .commit_status ).setVisibility (View .GONE );
6973 mAdapter .clear ();
7074 new Loader (getContext ()).loadCommit (new Loader .ItemLoader <Commit >() {
7175 @ Override
@@ -103,7 +107,6 @@ public void commitLoaded(Commit commit) {
103107 user = mCommit .getCommitterName ();
104108 IntentHandler .addOnClickHandler (getActivity (), mAvatar , user );
105109 }
106-
107110 if (mCommit .getFiles () != null ) {
108111 String builder =
109112 "<br>" +
@@ -128,9 +131,44 @@ public void commitLoaded(Commit commit) {
128131 mRefresher .setRefreshing (false );
129132 mAdapter .setDiffs (mCommit .getFiles ());
130133 }
134+ new Loader (getContext ()).loadCommitStatuses (new Loader .ItemLoader <CompleteStatus >() {
135+ @ Override
136+ public void loadComplete (CompleteStatus data ) {
137+ if (data .getTotalCount () == 0 ) return ; //We don't care if there is no integration
138+ ButterKnife .findById (getActivity (), R .id .commit_status ).setVisibility (View .VISIBLE );
139+ final NetworkImageView niv = ButterKnife .findById (getActivity (), R .id .status_image );
140+ final TextView status = ButterKnife .findById (getActivity (), R .id .status_state );
141+ final TextView desc = ButterKnife .findById (getActivity (), R .id .status_context );
142+ if ("success" .equals (data .getState ())) {
143+ niv .setImageResource (R .drawable .ic_check );
144+ } else if ("pending" .equals (data .getState ())) {
145+ niv .setImageResource (R .drawable .ic_loading );
146+ } else {
147+ niv .setImageResource (R .drawable .ic_failure );
148+ }
149+ status .setText (String .format (getString (R .string .text_ci_status ), data .getState ()));
150+ final StringBuilder builder = new StringBuilder ();
151+ if (data .getStatuses () != null ) {
152+ for (Status s : data .getStatuses ()) {
153+ builder .append (
154+ String .format (getString (R .string .text_ci_info ),
155+ s .getContext (),
156+ s .getDescription ())
157+ );
158+ builder .append ('\n' );
159+ }
160+ }
161+ desc .setText (builder .toString ());
162+ }
163+
164+ @ Override
165+ public void loadError (APIHandler .APIError error ) {
131166
167+ }
168+ }, mCommit .getFullRepoName (), mCommit .getSha ());
132169 }
133170
171+
134172 private void checkSharedElementEntry () {
135173 final Intent i = getActivity ().getIntent ();
136174 if (i .hasExtra (getString (R .string .transition_card ))) {
0 commit comments