From e5ddb83fbbdddd94d0d7611ba6779038431aa125 Mon Sep 17 00:00:00 2001 From: M M Arif Date: Sun, 9 Jun 2019 00:50:08 +0500 Subject: [PATCH] fix toolbar title, add ms list to edit issue. #2 --- .../gitnex/activities/EditIssueActivity.java | 79 ++++++++++++++++++- .../activities/IssueDetailActivity.java | 12 ++- .../main/res/layout/activity_edit_issue.xml | 1 - .../main/res/layout/activity_issue_detail.xml | 47 ++--------- 4 files changed, 90 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/org/mian/gitnex/activities/EditIssueActivity.java b/app/src/main/java/org/mian/gitnex/activities/EditIssueActivity.java index 4852754a..8bbb0c43 100644 --- a/app/src/main/java/org/mian/gitnex/activities/EditIssueActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/EditIssueActivity.java @@ -8,6 +8,7 @@ import retrofit2.Response; import android.annotation.SuppressLint; import android.app.DatePickerDialog; import android.content.Context; +import android.graphics.PorterDuff; import android.graphics.drawable.GradientDrawable; import android.os.Bundle; import android.util.Log; @@ -31,10 +32,12 @@ import org.mian.gitnex.helpers.Toasty; import org.mian.gitnex.models.Collaborators; import org.mian.gitnex.models.CreateIssue; import org.mian.gitnex.models.Issues; +import org.mian.gitnex.models.Milestones; import org.mian.gitnex.util.AppUtil; import org.mian.gitnex.util.TinyDB; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.List; @@ -53,6 +56,7 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick private Button editIssueButton; private Spinner editIssueMilestoneSpinner; + List milestonesList = new ArrayList<>(); private ArrayAdapter defaultMentionAdapter; @Override @@ -82,6 +86,9 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick defaultMentionAdapter = new MentionArrayAdapter<>(this); loadCollaboratorsList(); + editIssueMilestoneSpinner = findViewById(R.id.editIssueMilestoneSpinner); + editIssueMilestoneSpinner.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP); + editIssueDescription.setMentionAdapter(defaultMentionAdapter); initCloseListener(); @@ -292,7 +299,7 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick } - private void getIssue(String instanceUrl, String instanceToken, String loginUid, String repoOwner, String repoName, int issueIndex) { + private void getIssue(final String instanceUrl, final String instanceToken, final String loginUid, final String repoOwner, final String repoName, int issueIndex) { Call call = RetrofitClient .getInstance(instanceUrl) @@ -310,6 +317,74 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick editIssueTitle.setText(response.body().getTitle()); editIssueDescription.setText(response.body().getBody()); + int msId = 0; + if(response.body().getMilestone() != null) { + msId = response.body().getMilestone().getId(); + } + + // get milestones list + if(response.body().getId() > 0) { + + Call> call_ = RetrofitClient + .getInstance(instanceUrl) + .getApiInterface() + .getMilestones(Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), repoOwner, repoName); + + final int finalMsId = msId; + + call_.enqueue(new Callback>() { + + @Override + public void onResponse(@NonNull Call> call, @NonNull retrofit2.Response> response_) { + + int finalMsId1 = 0; + + if (response_.code() == 200) { + + List milestonesList_ = response_.body(); + + milestonesList.add(new Milestones(0, "No milestone")); + assert milestonesList_ != null; + if (milestonesList_.size() > 0) { + for (int i = 0; i < milestonesList_.size(); i++) { + + Milestones data = new Milestones( + milestonesList_.get(i).getId(), + milestonesList_.get(i).getTitle() + ); + milestonesList.add(data); + + if(finalMsId == milestonesList_.get(i).getId()) { + finalMsId1 = i + 1; + } + + } + } + + ArrayAdapter adapter_ = new ArrayAdapter<>(getApplicationContext(), + R.layout.spinner_item, milestonesList); + + adapter_.setDropDownViewResource(R.layout.spinner_dropdown_item); + editIssueMilestoneSpinner.setAdapter(adapter_); + + if(milestonesList_.size() > 0) { + editIssueMilestoneSpinner.setSelection(finalMsId1); + } + enableProcessButton(); + + } + + } + + @Override + public void onFailure(@NonNull Call> call, @NonNull Throwable t) { + Log.e("onFailure", t.toString()); + } + }); + + } + // get milestones list + if(response.body().getDue_date() != null) { @SuppressLint("SimpleDateFormat") DateFormat formatter = new SimpleDateFormat("yyyy-M-dd"); @@ -317,7 +392,7 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick editIssueDueDate.setText(dueDate); } - enableProcessButton(); + //enableProcessButton(); } else if(response.code() == 401) { diff --git a/app/src/main/java/org/mian/gitnex/activities/IssueDetailActivity.java b/app/src/main/java/org/mian/gitnex/activities/IssueDetailActivity.java index c6a2ae11..d24294f4 100644 --- a/app/src/main/java/org/mian/gitnex/activities/IssueDetailActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/IssueDetailActivity.java @@ -74,7 +74,6 @@ import java.util.Objects; public class IssueDetailActivity extends AppCompatActivity { public ImageView closeActivity; - private View.OnClickListener onClickListener; private IssueCommentsAdapter adapter; private RecyclerView mRecyclerView; private ImageView assigneeAvatar; @@ -110,7 +109,6 @@ public class IssueDetailActivity extends AppCompatActivity { final SwipeRefreshLayout swipeRefresh = findViewById(R.id.pullToRefresh); - closeActivity = findViewById(R.id.close); assigneeAvatar = findViewById(R.id.assigneeAvatar); issueTitle = findViewById(R.id.issueTitle); issueDescription = findViewById(R.id.issueDescription); @@ -127,10 +125,7 @@ public class IssueDetailActivity extends AppCompatActivity { Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); Objects.requireNonNull(getSupportActionBar()).setTitle(repoName); - getSupportActionBar().setDisplayHomeAsUpEnabled(false); - - initCloseListener(); - closeActivity.setOnClickListener(onClickListener); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); mRecyclerView = findViewById(R.id.recyclerView); mRecyclerView.setHasFixedSize(true); @@ -437,6 +432,7 @@ public class IssueDetailActivity extends AppCompatActivity { PrettyTime prettyTime = new PrettyTime(new Locale(locale)); String createdTime = prettyTime.format(singleIssue.getCreated_at()); issueCreatedTime.setText(getString(R.string.createdTime, createdTime)); + issueCreatedTime.setVisibility(View.VISIBLE); issueCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(singleIssue.getCreated_at()), getApplicationContext())); break; } @@ -444,12 +440,14 @@ public class IssueDetailActivity extends AppCompatActivity { DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale)); String createdTime = formatter.format(singleIssue.getCreated_at()); issueCreatedTime.setText(getString(R.string.createdTime, createdTime)); + issueCreatedTime.setVisibility(View.VISIBLE); break; } case "normal1": { DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale)); String createdTime = formatter.format(singleIssue.getCreated_at()); issueCreatedTime.setText(getString(R.string.createdTime, createdTime)); + issueCreatedTime.setVisibility(View.VISIBLE); break; } } @@ -490,7 +488,7 @@ public class IssueDetailActivity extends AppCompatActivity { } private void initCloseListener() { - onClickListener = new View.OnClickListener() { + View.OnClickListener onClickListener = new View.OnClickListener() { @Override public void onClick(View view) { finish(); diff --git a/app/src/main/res/layout/activity_edit_issue.xml b/app/src/main/res/layout/activity_edit_issue.xml index 779986b4..bef28f49 100644 --- a/app/src/main/res/layout/activity_edit_issue.xml +++ b/app/src/main/res/layout/activity_edit_issue.xml @@ -10,7 +10,6 @@ android:layout_height="wrap_content"> + android:layout_height="wrap_content" + android:theme="@style/AppTheme.AppBarOverlay" > - - - - - - - - + app:popupTheme="@style/AppTheme.PopupOverlay" + app:title="@string/app_name" /> @@ -204,6 +172,7 @@ android:textColor="@color/white" android:layout_toEndOf="@+id/issueCreatedTime" android:textSize="12sp" + android:visibility="gone" android:text="@string/modifiedText" />