Skip to content

Commit

Permalink
Merge pull request #67 from AndreySBer/new_milestone
Browse files Browse the repository at this point in the history
New milestone
  • Loading branch information
phansier authored Jan 20, 2018
2 parents 2757d25 + b45e03c commit c73bfad
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@
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.CreateMilestoneTask;
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.RepositoryMilestonesActivity;
import com.google.inject.Inject;

import org.eclipse.egit.github.core.Repository;
Expand All @@ -39,6 +41,7 @@
import java.util.Date;

import static com.github.mobile.Intents.EXTRA_MILESTONE;
import static com.github.mobile.Intents.EXTRA_REPOSITORY;
import static com.github.mobile.Intents.EXTRA_REPOSITORY_NAME;
import static com.github.mobile.Intents.EXTRA_REPOSITORY_OWNER;

Expand All @@ -55,7 +58,7 @@ public class EditMilestoneActivity extends DialogFragmentActivity {
* @return intent
*/
public static Intent createIntent(Repository repository) {
return createIntent(null, repository.getOwner().getLogin(),
return createIntent(null, repository, repository.getOwner().getLogin(),
repository.getName());
}

Expand All @@ -68,10 +71,12 @@ public static Intent createIntent(Repository repository) {
* @return intent
*/
public static Intent createIntent(final Milestone milestone,
final Repository repository,
final String repositoryOwner, final String repositoryName) {
Intents.Builder builder = new Intents.Builder("repo.milestones.edit.VIEW");
builder.add(EXTRA_REPOSITORY_NAME, repositoryName);
builder.add(EXTRA_REPOSITORY_OWNER, repositoryOwner);
builder.add(EXTRA_REPOSITORY, repository);
if (milestone != null)
builder.milestone(milestone);
return builder.toIntent();
Expand All @@ -93,7 +98,8 @@ public static Intent createIntent(final Milestone milestone,

private Milestone milestone;

private RepositoryId repository;
private RepositoryId repositoryId;
private Repository repository;

private MenuItem saveItem;

Expand Down Expand Up @@ -177,17 +183,20 @@ public void onClick(View v) {
if (milestone == null)
milestone = new Milestone();

repository = RepositoryId.create(
repository=(Repository) intent.getSerializableExtra(EXTRA_REPOSITORY);
repositoryId = RepositoryId.create(
intent.getStringExtra(EXTRA_REPOSITORY_OWNER),
intent.getStringExtra(EXTRA_REPOSITORY_NAME));

repository = getSerializableExtra(EXTRA_REPOSITORY);

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
if (milestone.number > 0)
actionBar.setTitle(milestone.title);
else
actionBar.setTitle(R.string.new_milestone);
actionBar.setSubtitle(repository.generateId());
actionBar.setSubtitle(repositoryId.generateId());

titleText.addTextChangedListener(new TextWatcherAdapter() {

Expand Down Expand Up @@ -281,21 +290,33 @@ public boolean onOptionsItemSelected(MenuItem item) {
} catch (ParseException e) {
e.printStackTrace();
}

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();

if (milestone.created_at == null) {
new CreateMilestoneTask(this, repositoryId.getOwner(), repositoryId.getName(), milestone) {

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

Intent intent =RepositoryMilestonesActivity.createIntent(repository);
startActivity(intent);
}

}.create();
} else {
new EditMilestoneTask(this, repositoryId.getOwner(), repositoryId.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 All @@ -308,7 +329,7 @@ private void checkCollaboratorStatus() {
@Override
public Boolean run(Account account) throws Exception {
return collaboratorService.isCollaborator(
repository, AccountUtils.getLogin(EditMilestoneActivity.this));
repositoryId, AccountUtils.getLogin(EditMilestoneActivity.this));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
//todo add issues to milestone
return true;
case R.id.m_edit: {
Intent intent = EditMilestoneActivity.createIntent(milestone,
Intent intent = EditMilestoneActivity.createIntent(milestone, repository,
repository.getOwner().getLogin(), repository.getName());
startActivityForResult(intent, MILESTONE_EDIT);
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
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_REPOSITORY;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
Expand Down Expand Up @@ -66,9 +67,7 @@ protected void onCreate(Bundle savedInstanceState) {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = RepositoryViewActivity.createIntent(repository);
intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
navigateToRepository();
return true;
case R.id.add_ms_menu_item:
//creating new milestone
Expand All @@ -86,4 +85,16 @@ public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.milestone, menu);
return true;
}

@Override
public void onBackPressed() {
navigateToRepository();
super.onBackPressed();
}

private void navigateToRepository() {
Intent intent = RepositoryViewActivity.createIntent(repository);
intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(MILESTONE_VIEW == requestCode)
{
//todo
refreshWithProgress();
}
}
}

0 comments on commit c73bfad

Please sign in to comment.