|
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