From 9607da8d3e09a0aea27bbb8590958ace50a03a7a Mon Sep 17 00:00:00 2001 From: "adi.bk" Date: Wed, 25 Jan 2017 21:53:21 -0800 Subject: [PATCH 1/2] Add SwitchCompat to the xml for the user to select confidentiality --- app/src/main/res/layout/activity_add_issue.xml | 7 +++++++ app/src/main/res/values/strings.xml | 1 + 2 files changed, 8 insertions(+) diff --git a/app/src/main/res/layout/activity_add_issue.xml b/app/src/main/res/layout/activity_add_issue.xml index 9a7c025a..abb4ef3b 100644 --- a/app/src/main/res/layout/activity_add_issue.xml +++ b/app/src/main/res/layout/activity_add_issue.xml @@ -155,6 +155,13 @@ + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1eea6354..7a05e765 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -220,6 +220,7 @@ Label already added Failed to delete issue Issue deleted + Confidential Labels -- GitLab From 70f0c8ed99a89bcf66315963b735d803b370ee2e Mon Sep 17 00:00:00 2001 From: "adi.bk" Date: Wed, 25 Jan 2017 21:53:55 -0800 Subject: [PATCH 2/2] Extract the value of SwitchCompat and send it to the server while creating and editing issues --- .../commit451/gitlab/activity/AddIssueActivity.kt | 15 +++++++++++---- .../main/java/com/commit451/gitlab/api/GitLab.kt | 6 ++++-- .../com/commit451/gitlab/model/api/Issue.java | 6 ++++++ 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/commit451/gitlab/activity/AddIssueActivity.kt b/app/src/main/java/com/commit451/gitlab/activity/AddIssueActivity.kt index a76d5f8a..0795b42f 100644 --- a/app/src/main/java/com/commit451/gitlab/activity/AddIssueActivity.kt +++ b/app/src/main/java/com/commit451/gitlab/activity/AddIssueActivity.kt @@ -8,6 +8,7 @@ import android.os.Parcelable import android.support.design.widget.Snackbar import android.support.design.widget.TextInputLayout import android.support.v7.app.AlertDialog +import android.support.v7.widget.SwitchCompat import android.support.v7.widget.Toolbar import android.text.TextUtils import android.view.View @@ -87,6 +88,8 @@ class AddIssueActivity : MorphActivity() { lateinit var rootAddLabels: ViewGroup @BindView(R.id.list_labels) lateinit var listLabels: AdapterFlowLayout + @BindView(R.id.confidential_switch) + lateinit var switchConfidential: SwitchCompat lateinit var adapterLabels: AddIssueLabelAdapter lateinit var teleprinter: Teleprinter @@ -239,6 +242,7 @@ class AddIssueActivity : MorphActivity() { if (!TextUtils.isEmpty(issue!!.description)) { textDescription.setText(issue!!.description) } + switchConfidential.isChecked = issue!!.isConfidential } private fun setAssignees() { @@ -324,14 +328,15 @@ class AddIssueActivity : MorphActivity() { textDescription.text.toString(), assigneeId, milestoneId, - labelsCommaSeperated) + labelsCommaSeperated, + switchConfidential.isChecked) } else { textInputLayoutTitle.error = getString(R.string.required_field) } } private fun createOrSaveIssue(title: String, description: String, assigneeId: Long?, - milestoneId: Long?, labels: String?) { + milestoneId: Long?, labels: String?, isConfidential: Boolean) { if (issue == null) { observeUpdate(App.get().gitLab.createIssue( project.id, @@ -339,7 +344,8 @@ class AddIssueActivity : MorphActivity() { description, assigneeId, milestoneId, - labels)) + labels, + isConfidential)) } else { observeUpdate(App.get().gitLab.updateIssue(project.id, issue!!.id, @@ -347,7 +353,8 @@ class AddIssueActivity : MorphActivity() { description, assigneeId, milestoneId, - labels)) + labels, + isConfidential)) } } diff --git a/app/src/main/java/com/commit451/gitlab/api/GitLab.kt b/app/src/main/java/com/commit451/gitlab/api/GitLab.kt index 5292736c..98b00664 100644 --- a/app/src/main/java/com/commit451/gitlab/api/GitLab.kt +++ b/app/src/main/java/com/commit451/gitlab/api/GitLab.kt @@ -252,7 +252,8 @@ interface GitLab { @Field("description") description: String, @Field("assignee_id") assigneeId: Long?, @Field("milestone_id") milestoneId: Long?, - @Field("labels") commaSeparatedLabelNames: String?): Single + @Field("labels") commaSeparatedLabelNames: String?, + @Field("confidential") isConfidential: Boolean): Single @PUT(API_VERSION + "/projects/{id}/issues/{issue_id}") fun updateIssue(@Path("id") projectId: Long, @@ -261,7 +262,8 @@ interface GitLab { @Query("description") description: String, @Query("assignee_id") assigneeId: Long?, @Query("milestone_id") milestoneId: Long?, - @Query("labels") commaSeparatedLabelNames: String?): Single + @Query("labels") commaSeparatedLabelNames: String?, + @Query("confidential") isConfidential: Boolean): Single @PUT(API_VERSION + "/projects/{id}/issues/{issue_id}") fun updateIssueStatus(@Path("id") projectId: Long, diff --git a/app/src/main/java/com/commit451/gitlab/model/api/Issue.java b/app/src/main/java/com/commit451/gitlab/model/api/Issue.java index 19de3d1c..6f6e9dec 100644 --- a/app/src/main/java/com/commit451/gitlab/model/api/Issue.java +++ b/app/src/main/java/com/commit451/gitlab/model/api/Issue.java @@ -58,6 +58,8 @@ public class Issue { UserBasic assignee; @JsonField(name = "author") UserBasic author; + @JsonField(name = "confidential") + boolean confidential; public Issue() { } @@ -117,6 +119,10 @@ public class Issue { .build(); } + public boolean isConfidential() { + return confidential; + } + @Override public boolean equals(Object o) { if (!(o instanceof Issue)) { -- GitLab