|
56 | 56 | import com.meisolsson.githubsdk.model.IssueState;
|
57 | 57 | import com.meisolsson.githubsdk.model.Milestone;
|
58 | 58 | import com.meisolsson.githubsdk.model.request.issue.CreateMilestone;
|
| 59 | +import com.meisolsson.githubsdk.model.request.issue.EditMilestone; |
59 | 60 | import com.meisolsson.githubsdk.service.issues.IssueMilestoneService;
|
60 | 61 |
|
61 | 62 | import java.util.Calendar;
|
@@ -322,19 +323,37 @@ private void updateLabels() {
|
322 | 323 | }
|
323 | 324 | }
|
324 | 325 |
|
325 |
| - private void saveMilestone(String title, String desc) { |
326 |
| - String errorMessage = getString(R.string.issue_error_create_milestone, title); |
327 |
| - IssueMilestoneService service = ServiceFactory.get(IssueMilestoneService.class, false); |
| 326 | + private Single<Response<Milestone>> createMilestone(String title, String desc, |
| 327 | + IssueMilestoneService service) { |
328 | 328 | CreateMilestone request = CreateMilestone.builder()
|
329 | 329 | .title(title)
|
330 | 330 | .description(desc)
|
331 | 331 | .state(mMilestone.state())
|
332 | 332 | .dueOn(mMilestone.dueOn())
|
333 | 333 | .build();
|
334 | 334 |
|
| 335 | + return service.createMilestone(mRepoOwner, mRepoName, request); |
| 336 | + } |
| 337 | + |
| 338 | + private Single<Response<Milestone>> editMilestone(String title, String desc, |
| 339 | + IssueMilestoneService service) { |
| 340 | + EditMilestone request = EditMilestone.builder() |
| 341 | + .title(title) |
| 342 | + .description(desc) |
| 343 | + .state(mMilestone.state()) |
| 344 | + .dueOn(mMilestone.dueOn()) |
| 345 | + .build(); |
| 346 | + |
| 347 | + return service.editMilestone(mRepoOwner, mRepoName, mMilestone.id(), request); |
| 348 | + } |
| 349 | + |
| 350 | + private void saveMilestone(String title, String desc) { |
| 351 | + @StringRes int errorMessageResId = isInEditMode() |
| 352 | + ? R.string.issue_error_edit_milestone : R.string.issue_error_create_milestone; |
| 353 | + String errorMessage = getString(errorMessageResId, title); |
| 354 | + IssueMilestoneService service = ServiceFactory.get(IssueMilestoneService.class, false); |
335 | 355 | Single<Response<Milestone>> responseSingle = isInEditMode()
|
336 |
| - ? service.editMilestone(mRepoOwner, mRepoName, mMilestone.id(), request) |
337 |
| - : service.createMilestone(mRepoOwner, mRepoName, request); |
| 356 | + ? createMilestone(title, desc, service) : editMilestone(title, desc, service); |
338 | 357 |
|
339 | 358 | responseSingle
|
340 | 359 | .map(ApiHelpers::throwOnFailure)
|
@@ -363,7 +382,7 @@ private void setMilestoneState(boolean open) {
|
363 | 382 | open ? R.string.issue_milestone_reopen_error : R.string.issue_milestone_close_error,
|
364 | 383 | mMilestone.title());
|
365 | 384 | IssueMilestoneService service = ServiceFactory.get(IssueMilestoneService.class, false);
|
366 |
| - CreateMilestone request = CreateMilestone.builder() |
| 385 | + EditMilestone request = EditMilestone.builder() |
367 | 386 | .state(open ? IssueState.Open : IssueState.Closed)
|
368 | 387 | .build();
|
369 | 388 |
|
|
0 commit comments