From d8b3477940672bc3888f6cfc0d46ba0cbf1763df Mon Sep 17 00:00:00 2001 From: M M Arif Date: Tue, 1 Oct 2019 18:05:09 +0500 Subject: [PATCH] check if repo issues is enalbed or disabled --- .../fragments/RepoBottomSheetFragment.java | 23 +++++++++++++------ .../gitnex/fragments/RepoInfoFragment.java | 9 ++++++++ .../mian/gitnex/models/UserRepositories.java | 6 ++++- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/mian/gitnex/fragments/RepoBottomSheetFragment.java b/app/src/main/java/org/mian/gitnex/fragments/RepoBottomSheetFragment.java index c2866e1f..571c83f3 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/RepoBottomSheetFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/RepoBottomSheetFragment.java @@ -8,6 +8,7 @@ import android.view.ViewGroup; import android.widget.TextView; import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import org.mian.gitnex.R; +import org.mian.gitnex.util.TinyDB; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -24,6 +25,8 @@ public class RepoBottomSheetFragment extends BottomSheetDialogFragment { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = inflater.inflate(R.layout.repo_bottom_sheet_layout, container, false); + final TinyDB tinyDb = new TinyDB(getContext()); + TextView createLabel = v.findViewById(R.id.createLabel); TextView createIssue = v.findViewById(R.id.createNewIssue); TextView createMilestone = v.findViewById(R.id.createNewMilestone); @@ -40,13 +43,19 @@ public class RepoBottomSheetFragment extends BottomSheetDialogFragment { } }); - createIssue.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - bmListener.onButtonClicked("newIssue"); - dismiss(); - } - }); + if(tinyDb.getBoolean("hasIssues")) { + createIssue.setVisibility(View.VISIBLE); + createIssue.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + bmListener.onButtonClicked("newIssue"); + dismiss(); + } + }); + } + else { + createIssue.setVisibility(View.GONE); + } createMilestone.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/org/mian/gitnex/fragments/RepoInfoFragment.java b/app/src/main/java/org/mian/gitnex/fragments/RepoInfoFragment.java index 59067193..c3fab270 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/RepoInfoFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/RepoInfoFragment.java @@ -215,6 +215,8 @@ public class RepoInfoFragment extends Fragment { private void getRepoInfo(String instanceUrl, String token, final String owner, String repo, final String locale, final String timeFormat) { + final TinyDB tinyDb = new TinyDB(getContext()); + Call call = RetrofitClient .getInstance(instanceUrl) .getApiInterface() @@ -245,6 +247,13 @@ public class RepoInfoFragment extends Fragment { repoRepoUrlInfo.setText(repoInfo.getHtml_url()); repoForksCountInfo.setText(repoInfo.getForks_count()); + if(repoInfo.getHas_issues()) { + tinyDb.putBoolean("hasIssues", repoInfo.getHas_issues()); + } + else { + tinyDb.putBoolean("hasIssues", true); + } + switch (timeFormat) { case "pretty": { PrettyTime prettyTime = new PrettyTime(new Locale(locale)); diff --git a/app/src/main/java/org/mian/gitnex/models/UserRepositories.java b/app/src/main/java/org/mian/gitnex/models/UserRepositories.java index 217e0d83..ed696aa4 100644 --- a/app/src/main/java/org/mian/gitnex/models/UserRepositories.java +++ b/app/src/main/java/org/mian/gitnex/models/UserRepositories.java @@ -27,7 +27,7 @@ public class UserRepositories { private String ssh_url; private String website; private String forks_count; - + private Boolean has_issues; public int getId() { return id; @@ -96,4 +96,8 @@ public class UserRepositories { public String getForks_count() { return forks_count; } + + public Boolean getHas_issues() { + return has_issues; + } }