Skip to content

Commit

Permalink
Merge pull request #80 from AndreySBer/bugfix-64-nulldate
Browse files Browse the repository at this point in the history
Fix bug #64
  • Loading branch information
phansier committed Jan 29, 2018
2 parents 8e2b5db + 7043b70 commit 135d903
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 6 deletions.
5 changes: 5 additions & 0 deletions app/src/main/java/com/github/mobile/GitHubModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import com.github.mobile.accounts.GitHubAccount;
import com.github.mobile.api.DateAdapter;
import com.github.mobile.api.RequestConfiguration;
import com.github.mobile.api.model.Milestone;
import com.github.mobile.core.commit.CommitStore;
import com.github.mobile.core.gist.GistStore;
import com.github.mobile.core.issue.IssueStore;
Expand All @@ -33,6 +34,7 @@
import com.google.inject.Singleton;
import com.google.inject.assistedinject.FactoryModuleBuilder;
import com.google.inject.name.Named;
import com.squareup.moshi.JsonAdapter;
import com.squareup.moshi.Moshi;

import java.io.File;
Expand Down Expand Up @@ -80,8 +82,11 @@ Retrofit retrofit(Provider<GitHubAccount> accountProvider) {
.addInterceptor(new RequestConfiguration(accountProvider))
.build();

JsonAdapter<Milestone> adapter =
new Moshi.Builder().add(new DateAdapter()).build().adapter(Milestone.class).serializeNulls();
Moshi converter = new Moshi.Builder()
.add(new DateAdapter())
.add(Milestone.class, adapter)
.build();

return new Retrofit.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
Date date = sd.parse(dateText.getText().toString());
milestone.due_on = date;
} catch (ParseException e) {
e.printStackTrace();
milestone.due_on = null;
}
if (milestone.created_at == null) {
new CreateMilestoneTask(this, repositoryId.getOwner(), repositoryId.getName(), milestone) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ public class MilestoneFragment extends DialogFragment {
private ProgressBar milestoneProgress;
private TextView milestoneProgressPercentage;
private TextView milestoneTime;

private final static int MS_TIME_PAST_DAYS = -100;
private final static int MS_TIME_OK_DAYS = 100;


@Override
public void onAttach(Context context) {
Expand Down Expand Up @@ -111,7 +115,9 @@ private void updateMilestone(final Milestone milestone){

milestoneTitle.setText(milestone.getTitle());
DateFormat sdf = SimpleDateFormat.getDateInstance();
milestoneDueTo.setText(sdf.format(milestone.getDueOn()));
if(milestone.getDueOn() != null) {
milestoneDueTo.setText(sdf.format(milestone.getDueOn()));
}
milestoneDescription.setText(milestone.getDescription());
int totalIssues = milestone.getClosedIssues() + milestone.getOpenIssues();
int progress = totalIssues == 0 ? 0 : milestone.getClosedIssues() * 100 / totalIssues;
Expand All @@ -122,18 +128,21 @@ private void updateMilestone(final Milestone milestone){
Date current = Calendar.getInstance().getTime();
String state = milestone.getState();
boolean open = state.equals("open");
long diff = dueOn.getTime() - current.getTime();
long days = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
long days = MS_TIME_OK_DAYS;
if(dueOn != null) {
long diff = dueOn.getTime() - current.getTime();
days = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
}
GradientDrawable back = (GradientDrawable) milestoneTime.getBackground();
if (!open){
milestoneTime.setText(R.string.status_closed);
back.setColor(getResources().getColor(R.color.milestone_badge_default));
}
else if (-100 <= days && days < 0 && open){
else if (MS_TIME_PAST_DAYS <= days && days < 0 && open){
milestoneTime.setText(getString(R.string.ms_time_past) + " " +(-days) + " " + getString(R.string.ms_days));
back.setColor(getResources().getColor(R.color.milestone_badge_red));
}
else if (0 <= days && days <= 100 && open){
else if (0 <= days && days < MS_TIME_OK_DAYS && open){
milestoneTime.setText(days + " " + getString(R.string.ms_days));
back.setColor(getResources().getColor(R.color.milestone_badge_default));
}
Expand Down

0 comments on commit 135d903

Please sign in to comment.