Skip to content

Commit

Permalink
Update milestones list after changes
Browse files Browse the repository at this point in the history
Activity is refreshing after new ms or edited ms added.
  • Loading branch information
UEvgeniy committed Jan 20, 2018
1 parent 6d3f519 commit 5377028
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
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 @@ -40,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 @@ -56,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 @@ -69,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 @@ -94,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 @@ -178,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 @@ -282,22 +290,20 @@ public boolean onOptionsItemSelected(MenuItem item) {
} catch (ParseException e) {
e.printStackTrace();
}
if(milestone.created_at == null) {
new CreateMilestoneTask(this, repository.getOwner(), repository.getName(), milestone) {
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 = new Intent();
intent.putExtra(EXTRA_MILESTONE, created);
setResult(RESULT_OK, intent);
finish();
Intent intent =RepositoryMilestonesActivity.createIntent(repository);
startActivity(intent);
}

}.create();
}else {
new EditMilestoneTask(this, repository.getOwner(), repository.getName(), milestone) {
} else {
new EditMilestoneTask(this, repositoryId.getOwner(), repositoryId.getName(), milestone) {

@Override
protected void onSuccess(Milestone editedMilestone)
Expand All @@ -323,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 @@ -17,9 +17,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_MILESTONE;
import static com.github.mobile.Intents.EXTRA_REPOSITORY;
import static com.github.mobile.RequestCodes.MILESTONE_CREATE;

import android.content.Intent;
import android.os.Bundle;
Expand All @@ -29,7 +27,6 @@

import com.github.mobile.Intents;
import com.github.mobile.R;
import com.github.mobile.api.model.Milestone;
import com.github.mobile.ui.DialogFragmentActivity;
import com.github.mobile.ui.milestone.EditMilestoneActivity;

Expand Down Expand Up @@ -70,32 +67,34 @@ 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
Intent i = EditMilestoneActivity.createIntent(repository);
i.addFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP);
startActivityForResult(i, MILESTONE_CREATE);
startActivity(i/*, MILESTONE_CREATE*/);
return true;
default:
return super.onOptionsItemSelected(item);
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == MILESTONE_CREATE && resultCode == RESULT_OK) {
//todo refresh list
}
}

@Override
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 5377028

Please sign in to comment.