Skip to content

Commit

Permalink
Merge branch 'master' into milestone_view
Browse files Browse the repository at this point in the history
  • Loading branch information
phansier committed Jan 16, 2018
2 parents 80c2d1a + 5a29dc2 commit 411a16b
Show file tree
Hide file tree
Showing 19 changed files with 251 additions and 87 deletions.
2 changes: 1 addition & 1 deletion app/src/main/java/com/github/mobile/Intents.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import static org.eclipse.egit.github.core.RepositoryId.createFromUrl;
import android.content.Intent;

import com.github.mobile.api.model.Milestone;
import com.github.mobile.api.model.Project;
import com.github.mobile.api.model.Team;

Expand All @@ -27,7 +28,6 @@
import org.eclipse.egit.github.core.Gist;
import org.eclipse.egit.github.core.GistFile;
import org.eclipse.egit.github.core.Issue;
import org.eclipse.egit.github.core.Milestone;
import org.eclipse.egit.github.core.Repository;
import org.eclipse.egit.github.core.RepositoryId;
import org.eclipse.egit.github.core.User;
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/java/com/github/mobile/RequestCodes.java
Original file line number Diff line number Diff line change
Expand Up @@ -114,4 +114,9 @@ public interface RequestCodes {
* Request to view milestone
*/
int MILESTONE_VIEW = 16;

/**
* Request to edit milestone
*/
int MILESTONE_EDIT = 17;
}
42 changes: 41 additions & 1 deletion app/src/main/java/com/github/mobile/api/model/Milestone.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@
*/
package com.github.mobile.api.model;

import java.io.Serializable;
import java.util.Date;

public class Milestone {
public class Milestone implements Serializable {
public long id;

public int number;
Expand All @@ -41,4 +42,43 @@ public class Milestone {
public Date closed_at;

public Date due_on;

private String url;

public Milestone() {
}

public Milestone(org.eclipse.egit.github.core.Milestone milestone) {
//todo this.id=?
//there are two variants of id usage
//1)id is like an id in Issues, but it is in old Issues class too - the remove field
//2)id is like an serialVersionUID - then generate it using "serialver -classpath . Milestone" in terminal
this.number = milestone.getNumber();
this.state = milestone.getState();
this.title = milestone.getTitle();
this.description = milestone.getDescription();
this.creator = new User(milestone.getCreator());
this.open_issues = milestone.getOpenIssues();
this.closed_issues = milestone.getClosedIssues();
this.created_at = milestone.getCreatedAt();
this.url = milestone.getUrl();
//todo this.updated_at=???
this.due_on = milestone.getDueOn();
}

public org.eclipse.egit.github.core.Milestone getOldModel() {
org.eclipse.egit.github.core.Milestone milestone = new org.eclipse.egit.github.core.Milestone();
milestone.setCreatedAt(created_at);
milestone.setDueOn(due_on);
milestone.setClosedIssues(closed_issues);
milestone.setNumber(number);
milestone.setOpenIssues(open_issues);
milestone.setDescription(description);
milestone.setState(state);
milestone.setTitle(title);
milestone.setUrl(url);
milestone.setCreator(creator.getOldModel());

return milestone;
}
}
11 changes: 6 additions & 5 deletions app/src/main/java/com/github/mobile/core/issue/IssueFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package com.github.mobile.core.issue;

import com.github.mobile.api.model.Milestone;

import static java.lang.String.CASE_INSENSITIVE_ORDER;
import static org.eclipse.egit.github.core.service.IssueService.DIRECTION_DESCENDING;
import static org.eclipse.egit.github.core.service.IssueService.FIELD_DIRECTION;
Expand All @@ -39,7 +41,6 @@
import java.util.TreeSet;

import org.eclipse.egit.github.core.Label;
import org.eclipse.egit.github.core.Milestone;
import org.eclipse.egit.github.core.Repository;
import org.eclipse.egit.github.core.User;

Expand Down Expand Up @@ -185,7 +186,7 @@ public Map<String, String> toFilterMap() {

if (milestone != null)
filter.put(FILTER_MILESTONE,
Integer.toString(milestone.getNumber()));
Integer.toString(milestone.number));

if (labels != null && !labels.isEmpty()) {
StringBuilder labelsQuery = new StringBuilder();
Expand Down Expand Up @@ -217,7 +218,7 @@ public CharSequence toDisplay() {
segments.add("Assignee: " + assignee.getLogin());

if (milestone != null)
segments.add("Milestone: " + milestone.getTitle());
segments.add("Milestone: " + milestone.title);

if (labels != null && !labels.isEmpty()) {
StringBuilder builder = new StringBuilder("Labels: ");
Expand All @@ -243,7 +244,7 @@ public CharSequence toDisplay() {
public int hashCode() {
return Arrays.hashCode(new Object[] { open,
assignee != null ? assignee.getId() : null,
milestone != null ? milestone.getNumber() : null,
milestone != null ? milestone.number : null,
assignee != null ? assignee.getId() : null,
repository != null ? repository.getId() : null, labels });
}
Expand All @@ -257,7 +258,7 @@ private boolean isEqual(Object a, Object b) {
private boolean isEqual(Milestone a, Milestone b) {
if (a == null && b == null)
return true;
return a != null && b != null && a.getNumber() == b.getNumber();
return a != null && b != null && a.number == b.number;
}

private boolean isEqual(User a, User b) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public EditMilestoneTask(final Activity activity,
*
* @return this task
*/
public EditMilestoneTask create() {
public EditMilestoneTask edit() {
showIndeterminate(R.string.updating_milestone);

execute();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ public void onClick(View v) {
milestoneDialog = new MilestoneDialog(
EditIssuesFilterActivity.this, REQUEST_MILESTONE,
repository, milestones);
milestoneDialog.show(filter.getMilestone());
milestoneDialog.show(filter.getMilestone().getOldModel());
}
};

Expand Down Expand Up @@ -236,7 +236,7 @@ private void updateLabels() {
}

private void updateMilestone() {
Milestone selected = filter.getMilestone();
Milestone selected = filter.getMilestone().getOldModel();
if (selected != null)
milestoneText.setText(selected.getTitle());
else
Expand Down Expand Up @@ -265,7 +265,7 @@ public void onDialogResult(int requestCode, int resultCode, Bundle arguments) {
updateLabels();
break;
case REQUEST_MILESTONE:
filter.setMilestone(MilestoneDialogFragment.getSelected(arguments));
filter.setMilestone(new com.github.mobile.api.model.Milestone(MilestoneDialogFragment.getSelected(arguments)));
updateMilestone();
break;
case REQUEST_ASSIGNEE:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ protected void update(int position, IssueFilter filter) {
} else
setGone(3, true);

Milestone milestone = filter.getMilestone();
Milestone milestone = filter.getMilestone().getOldModel();
if (milestone != null)
ViewUtils.setGone(setText(4, milestone.getTitle()), false);
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ private void updateFilterSummary() {
} else
labels.setVisibility(GONE);

Milestone filterMilestone = filter.getMilestone();
Milestone filterMilestone = filter.getMilestone().getOldModel();
if (filterMilestone != null) {
milestone.setText(filterMilestone.getTitle());
milestone.setVisibility(VISIBLE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,17 @@
import com.github.mobile.Intents;
import com.github.mobile.R;

import org.eclipse.egit.github.core.Milestone;

import com.github.mobile.accounts.AccountUtils;
import com.github.mobile.accounts.AuthenticatedUserTask;
import com.github.mobile.api.model.Milestone;
import com.github.mobile.core.milestone.EditMilestoneTask;
import com.github.mobile.ui.DialogFragmentActivity;
import com.github.mobile.ui.TextWatcherAdapter;
import com.github.mobile.ui.issue.MilestoneDialog;
import com.github.mobile.ui.repo.RepositoryViewActivity;
import com.google.inject.Inject;

import org.eclipse.egit.github.core.Repository;
import org.eclipse.egit.github.core.RepositoryId;
import org.eclipse.egit.github.core.User;
import org.eclipse.egit.github.core.service.CollaboratorService;
import org.eclipse.egit.github.core.service.MilestoneService;

Expand All @@ -40,8 +38,6 @@
import java.util.Calendar;
import java.util.Date;

import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
import static com.github.mobile.Intents.EXTRA_MILESTONE;
import static com.github.mobile.Intents.EXTRA_REPOSITORY_NAME;
import static com.github.mobile.Intents.EXTRA_REPOSITORY_OWNER;
Expand Down Expand Up @@ -125,7 +121,7 @@ public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth
dateAndTime.set(Calendar.YEAR, year);
dateAndTime.set(Calendar.MONTH, monthOfYear);
dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
SimpleDateFormat sd = new SimpleDateFormat("dd-MM-yyyy");
SimpleDateFormat sd = new SimpleDateFormat(getApplicationContext().getString(R.string.ms_date_format));
final Date startDate = dateAndTime.getTime();
String fdate = sd.format(startDate);
dateText.setText(fdate);
Expand All @@ -144,7 +140,7 @@ public void onClick(View v) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateOfOrder);
dateAndTime.add(Calendar.DAY_OF_YEAR, noOfDays);
SimpleDateFormat sd = new SimpleDateFormat("dd-MM-yyyy");
SimpleDateFormat sd = new SimpleDateFormat(getApplicationContext().getString(R.string.ms_date_format));
final Date startDate = dateAndTime.getTime();
String fdate = sd.format(startDate);
dateText.setText(fdate);
Expand All @@ -156,7 +152,7 @@ public void onClick(View v) {
public void onClick(View v) {
final Calendar dateAndTime = Calendar.getInstance();
dateAndTime.add(Calendar.MONTH, 1);
SimpleDateFormat sd = new SimpleDateFormat("dd-MM-yyyy");
SimpleDateFormat sd = new SimpleDateFormat(getApplicationContext().getString(R.string.ms_date_format));
final Date startDate = dateAndTime.getTime();
String fdate = sd.format(startDate);
dateText.setText(fdate);
Expand Down Expand Up @@ -187,9 +183,8 @@ public void onClick(View v) {

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
if (milestone.getNumber() > 0)
actionBar.setTitle(getString(R.string.milestone)
+ milestone.getNumber());
if (milestone.number > 0)
actionBar.setTitle(milestone.title);
else
actionBar.setTitle(R.string.new_milestone);
actionBar.setSubtitle(repository.generateId());
Expand All @@ -203,8 +198,8 @@ public void afterTextChanged(Editable s) {
});

updateSaveMenu();
titleText.setText(milestone.getTitle());
descriptionText.setText(milestone.getDescription());
titleText.setText(milestone.title);
descriptionText.setText(milestone.description);
}

@Override
Expand All @@ -227,11 +222,12 @@ private void showCollaboratorOptions() {

private void updateMilestone() {
if (milestone != null) {
titleText.setText(milestone.getTitle());
descriptionText.setText(milestone.getDescription());
Date dueOn = milestone.getDueOn();
titleText.setText(milestone.title);
descriptionText.setText(milestone.description);
Date dueOn = milestone.due_on;
if (dueOn != null) {
dateText.setText(dueOn.toString());
SimpleDateFormat sd = new SimpleDateFormat(getApplicationContext().getString(R.string.ms_date_format));
dateText.setText(sd.format(dueOn));
} else {
dateText.setText("");
}
Expand Down Expand Up @@ -271,26 +267,35 @@ public boolean onCreateOptionsMenu(Menu options) {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Repository repo = new Repository();
repo.setName(repository.getName());
repo.setOwner(new User().setLogin(repository.getOwner()));
Intent intent = RepositoryViewActivity.createIntent(repo);
intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP
| FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();
return true;
case R.id.m_apply:
milestone.setTitle(titleText.getText().toString());
milestone.setDescription(descriptionText.getText().toString());
SimpleDateFormat sd = new SimpleDateFormat("dd-MM-yyyy");
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(milestone.title);
milestone.title = titleText.getText().toString();
milestone.description = descriptionText.getText().toString();
SimpleDateFormat sd = new SimpleDateFormat(getApplicationContext().getString(R.string.ms_date_format));
try {
Date date = sd.parse(dateText.getText().toString());
milestone.setDueOn(date);
}
catch (ParseException e){
milestone.due_on = date;
} catch (ParseException e) {
e.printStackTrace();
}
//todo run EditMilestoneTask

new EditMilestoneTask(this, repository.getOwner(), repository.getName(), milestone) {

@Override
protected void onSuccess(Milestone editedMilestone)
throws Exception {
super.onSuccess(editedMilestone);

Intent intent = new Intent();
intent.putExtra(EXTRA_MILESTONE, editedMilestone);
setResult(RESULT_OK, intent);
finish();
}
}.edit();

return true;
default:
return super.onOptionsItemSelected(item);
Expand Down
Loading

0 comments on commit 411a16b

Please sign in to comment.