From 9e658aa38c2c1c49b6feaa1e2d1d490d43ea15f9 Mon Sep 17 00:00:00 2001 From: M M Arif Date: Tue, 1 Oct 2019 10:05:26 +0000 Subject: [PATCH] 63-ms-ui (#82) --- .../activities/CreateIssueActivity.java | 3 +- .../gitnex/activities/EditIssueActivity.java | 4 +- .../gitnex/adapters/MilestonesAdapter.java | 17 +- .../gitnex/fragments/MilestonesFragment.java | 7 +- .../mian/gitnex/interfaces/ApiInterface.java | 2 +- .../viewmodels/MilestonesViewModel.java | 8 +- app/src/main/res/drawable/progress_bar.xml | 30 +++ app/src/main/res/layout/milestones_list.xml | 193 ++++++++---------- app/src/main/res/values-de/strings.xml | 4 +- app/src/main/res/values-fr/strings.xml | 4 +- app/src/main/res/values-ru/strings.xml | 4 +- app/src/main/res/values/strings.xml | 4 +- 12 files changed, 158 insertions(+), 122 deletions(-) create mode 100644 app/src/main/res/drawable/progress_bar.xml diff --git a/app/src/main/java/org/mian/gitnex/activities/CreateIssueActivity.java b/app/src/main/java/org/mian/gitnex/activities/CreateIssueActivity.java index 4bfbbd3e..c705a638 100644 --- a/app/src/main/java/org/mian/gitnex/activities/CreateIssueActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/CreateIssueActivity.java @@ -323,10 +323,11 @@ public class CreateIssueActivity extends AppCompatActivity implements View.OnCli private void getMilestones(String instanceUrl, String instanceToken, String repoOwner, String repoName, String loginUid) { + String msState = "open"; Call> call = RetrofitClient .getInstance(instanceUrl) .getApiInterface() - .getMilestones(Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), repoOwner, repoName); + .getMilestones(Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), repoOwner, repoName, msState); call.enqueue(new Callback>() { 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 3b2963f5..c4abe924 100644 --- a/app/src/main/java/org/mian/gitnex/activities/EditIssueActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/EditIssueActivity.java @@ -56,6 +56,8 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick private Button editIssueButton; private Spinner editIssueMilestoneSpinner; + private String msState = "open"; + List milestonesList = new ArrayList<>(); private ArrayAdapter defaultMentionAdapter; @@ -331,7 +333,7 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick Call> call_ = RetrofitClient .getInstance(instanceUrl) .getApiInterface() - .getMilestones(Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), repoOwner, repoName); + .getMilestones(Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), repoOwner, repoName, msState); final int finalMsId = msId; diff --git a/app/src/main/java/org/mian/gitnex/adapters/MilestonesAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/MilestonesAdapter.java index dff16ecc..239e2c75 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/MilestonesAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/MilestonesAdapter.java @@ -82,7 +82,7 @@ public class MilestonesAdapter extends RecyclerView.Adapter 0) { + if (currentItem.getOpen_issues() == 0) { holder.msProgress.setProgress(100); - } else { - holder.msProgress.setProgress(100*currentItem.getClosed_issues()/(currentItem.getOpen_issues() + currentItem.getClosed_issues())); } - } else { + else { + int msCompletion = 100 * currentItem.getClosed_issues() / (currentItem.getOpen_issues() + currentItem.getClosed_issues()); + holder.msProgress.setOnClickListener(new ClickListener(mCtx.getResources().getString(R.string.milestoneCompletion, msCompletion), mCtx)); + holder.msProgress.setProgress(msCompletion); + } + + } + else { holder.msProgress.setProgress(0); + holder.msProgress.setOnClickListener(new ClickListener(mCtx.getResources().getString(R.string.milestoneCompletion, 0), mCtx)); } if(currentItem.getDue_on() != null) { @@ -276,7 +283,7 @@ public class MilestonesAdapter extends RecyclerView.Adapter>() { + msModel.getMilestonesList(instanceUrl, instanceToken, owner, repo, msState).observe(this, new Observer>() { @Override public void onChanged(@Nullable List msListMain) { adapter = new MilestonesAdapter(getContext(), msListMain); diff --git a/app/src/main/java/org/mian/gitnex/interfaces/ApiInterface.java b/app/src/main/java/org/mian/gitnex/interfaces/ApiInterface.java index c78b196b..a59a64de 100644 --- a/app/src/main/java/org/mian/gitnex/interfaces/ApiInterface.java +++ b/app/src/main/java/org/mian/gitnex/interfaces/ApiInterface.java @@ -99,7 +99,7 @@ public interface ApiInterface { Call replyCommentToIssue(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName, @Path("index") int issueIndex, @Body Issues jsonStr); @GET("repos/{owner}/{repo}/milestones") // get milestones by repo - Call> getMilestones(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName); + Call> getMilestones(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName, @Query("state") String state); @GET("repos/{owner}/{repo}/branches") // get branches Call> getBranches(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName); diff --git a/app/src/main/java/org/mian/gitnex/viewmodels/MilestonesViewModel.java b/app/src/main/java/org/mian/gitnex/viewmodels/MilestonesViewModel.java index 989666d8..89edff64 100644 --- a/app/src/main/java/org/mian/gitnex/viewmodels/MilestonesViewModel.java +++ b/app/src/main/java/org/mian/gitnex/viewmodels/MilestonesViewModel.java @@ -20,20 +20,20 @@ public class MilestonesViewModel extends ViewModel { private static MutableLiveData> milestonesList; - public LiveData> getMilestonesList(String instanceUrl, String token, String owner, String repo) { + public LiveData> getMilestonesList(String instanceUrl, String token, String owner, String repo, String msState) { milestonesList = new MutableLiveData<>(); - loadMilestonesList(instanceUrl, token, owner, repo); + loadMilestonesList(instanceUrl, token, owner, repo, msState); return milestonesList; } - public static void loadMilestonesList(String instanceUrl, String token, String owner, String repo) { + public static void loadMilestonesList(String instanceUrl, String token, String owner, String repo, String msState) { Call> call = RetrofitClient .getInstance(instanceUrl) .getApiInterface() - .getMilestones(token, owner, repo); + .getMilestones(token, owner, repo, msState); call.enqueue(new Callback>() { diff --git a/app/src/main/res/drawable/progress_bar.xml b/app/src/main/res/drawable/progress_bar.xml new file mode 100644 index 00000000..6d6c9c2b --- /dev/null +++ b/app/src/main/res/drawable/progress_bar.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/milestones_list.xml b/app/src/main/res/layout/milestones_list.xml index ce1b71ad..a7ec2a11 100644 --- a/app/src/main/res/layout/milestones_list.xml +++ b/app/src/main/res/layout/milestones_list.xml @@ -1,118 +1,105 @@ - + android:layout_margin="15dp" + android:id="@+id/milestoneFrame" + android:background="@color/backgroundColor" + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + - - - - - - - - + android:orientation="horizontal"> - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 7a4d8757..96c1faa2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -109,7 +109,7 @@ Die Gitea Instanz hat einen Fehler zurückgegeben. Code\u0020 Repo-Details Aktivität - Information + Details Offene Issues Geschlossene Issues Meilensteine @@ -430,6 +430,8 @@ Issue URL kopieren Issue URL copied to clipboard + %1$d\uFF05 abgeschlossen + OK Fertig diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index bbf5c35d..c77b0d38 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -110,7 +110,7 @@ L\'instance a renvoyé une erreur. Code\u0020 RepoDetailActivity - Info + Détails Open Issues Closed Issues Milestones @@ -430,6 +430,8 @@ Copier l Issue URL Issue URL copied to clipboard + %1$d\uFF05 terminé + OK Done diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 0dfd92ec..318748ff 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -110,7 +110,7 @@ Инстанция вернула ошибку. Код\u0020 Активность - Информация + Детали Открытые задачи Закрытые задачи Вехи @@ -430,6 +430,8 @@ Copy Issue URL Issue URL copied to clipboard + %1$d\uFF05 выполненный + OK Готово diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a919bb51..19122053 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -130,7 +130,7 @@ Instance has returned an error. Code\u0020 RepoDetailActivity - Information + Details Open Issues Closed Issues Milestones @@ -467,6 +467,8 @@ Copy Issue URL Issue URL copied to clipboard + %1$d\uFF05 completed + OK Done