Backport show only issues, use StandardCharsets instead in okhttp

This commit is contained in:
M M Arif 2020-03-19 18:14:13 +05:00
parent 40337d10b4
commit 88feca3564
4 changed files with 23 additions and 20 deletions

View File

@ -32,6 +32,7 @@ import org.mian.gitnex.util.AppUtil;
import org.mian.gitnex.util.TinyDB; import org.mian.gitnex.util.TinyDB;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.UUID; import java.util.UUID;
@ -284,7 +285,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
if(appUtil.checkIntegers(loginOTP_)) { if(appUtil.checkIntegers(loginOTP_)) {
loginOTP = Integer.valueOf(loginOTP_); loginOTP = Integer.parseInt(loginOTP_);
} }
else { else {
@ -530,7 +531,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
private void letTheUserIn(final String instanceUrl, final String loginUid, final String loginPass, final int loginOTP) { private void letTheUserIn(final String instanceUrl, final String loginUid, final String loginPass, final int loginOTP) {
final String credential = Credentials.basic(loginUid, loginPass, Charset.forName("UTF-8")); final String credential = Credentials.basic(loginUid, loginPass, StandardCharsets.UTF_8);
Call<List<UserTokens>> call; Call<List<UserTokens>> call;
if(loginOTP != 0) { if(loginOTP != 0) {

View File

@ -52,6 +52,7 @@ public class ClosedIssuesFragment extends Fragment {
private TextView noDataIssuesClosed; private TextView noDataIssuesClosed;
private String issueState = "closed"; private String issueState = "closed";
private int resultLimit = 50; private int resultLimit = 50;
private String requestType = "issues";
@Nullable @Nullable
@Override @Override
@ -87,7 +88,7 @@ public class ClosedIssuesFragment extends Fragment {
public void run() { public void run() {
swipeRefresh.setRefreshing(false); swipeRefresh.setRefreshing(false);
loadInitial(instanceToken, repoOwner, repoName, issueState, resultLimit); loadInitial(instanceToken, repoOwner, repoName, issueState, resultLimit, requestType);
adapterClosed.notifyDataChanged(); adapterClosed.notifyDataChanged();
} }
@ -106,7 +107,7 @@ public class ClosedIssuesFragment extends Fragment {
if(issuesListClosed.size() == 10 || pageSize == 10) { if(issuesListClosed.size() == 10 || pageSize == 10) {
int page = (issuesListClosed.size() + 10) / 10; int page = (issuesListClosed.size() + 10) / 10;
loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, issueState, resultLimit); loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, issueState, resultLimit, requestType);
} }
/*else { /*else {
@ -125,7 +126,7 @@ public class ClosedIssuesFragment extends Fragment {
recyclerViewClosed.setAdapter(adapterClosed); recyclerViewClosed.setAdapter(adapterClosed);
apiClosed = IssuesService.createService(ApiInterface.class, instanceUrl, getContext()); apiClosed = IssuesService.createService(ApiInterface.class, instanceUrl, getContext());
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, issueState, resultLimit); loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, issueState, resultLimit, requestType);
return v; return v;
@ -145,16 +146,16 @@ public class ClosedIssuesFragment extends Fragment {
if(tinyDb.getBoolean("resumeClosedIssues")) { if(tinyDb.getBoolean("resumeClosedIssues")) {
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, issueState, resultLimit); loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, issueState, resultLimit, requestType);
tinyDb.putBoolean("resumeClosedIssues", false); tinyDb.putBoolean("resumeClosedIssues", false);
} }
} }
private void loadInitial(String token, String repoOwner, String repoName, String issueState, int resultLimit) { private void loadInitial(String token, String repoOwner, String repoName, String issueState, int resultLimit, String requestType) {
Call<List<Issues>> call = apiClosed.getClosedIssues(token, repoOwner, repoName, 1, issueState, resultLimit); Call<List<Issues>> call = apiClosed.getClosedIssues(token, repoOwner, repoName, 1, issueState, resultLimit, requestType);
call.enqueue(new Callback<List<Issues>>() { call.enqueue(new Callback<List<Issues>>() {
@ -194,13 +195,13 @@ public class ClosedIssuesFragment extends Fragment {
} }
private void loadMore(String token, String repoOwner, String repoName, int page, String issueState, int resultLimit){ private void loadMore(String token, String repoOwner, String repoName, int page, String issueState, int resultLimit, String requestType){
//add loading progress view //add loading progress view
issuesListClosed.add(new Issues("load")); issuesListClosed.add(new Issues("load"));
adapterClosed.notifyItemInserted((issuesListClosed.size() - 1)); adapterClosed.notifyItemInserted((issuesListClosed.size() - 1));
Call<List<Issues>> call = apiClosed.getClosedIssues(token, repoOwner, repoName, page, issueState, resultLimit); Call<List<Issues>> call = apiClosed.getClosedIssues(token, repoOwner, repoName, page, issueState, resultLimit, requestType);
call.enqueue(new Callback<List<Issues>>() { call.enqueue(new Callback<List<Issues>>() {

View File

@ -51,6 +51,7 @@ public class IssuesFragment extends Fragment {
private int pageSize = 1; private int pageSize = 1;
private TextView noDataIssues; private TextView noDataIssues;
private int resultLimit = 50; private int resultLimit = 50;
private String requestType = "issues";
@Nullable @Nullable
@Override @Override
@ -86,7 +87,7 @@ public class IssuesFragment extends Fragment {
public void run() { public void run() {
swipeRefresh.setRefreshing(false); swipeRefresh.setRefreshing(false);
loadInitial(instanceToken, repoOwner, repoName, resultLimit); loadInitial(instanceToken, repoOwner, repoName, resultLimit, requestType);
adapter.notifyDataChanged(); adapter.notifyDataChanged();
} }
@ -105,7 +106,7 @@ public class IssuesFragment extends Fragment {
if(issuesList.size() == 10 || pageSize == 10) { if(issuesList.size() == 10 || pageSize == 10) {
int page = (issuesList.size() + 10) / 10; int page = (issuesList.size() + 10) / 10;
loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, resultLimit); loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, resultLimit, requestType);
} }
/*else { /*else {
@ -124,7 +125,7 @@ public class IssuesFragment extends Fragment {
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
api = IssuesService.createService(ApiInterface.class, instanceUrl, getContext()); api = IssuesService.createService(ApiInterface.class, instanceUrl, getContext());
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit); loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, requestType);
return v; return v;
@ -144,16 +145,16 @@ public class IssuesFragment extends Fragment {
if(tinyDb.getBoolean("resumeIssues")) { if(tinyDb.getBoolean("resumeIssues")) {
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit); loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, requestType);
tinyDb.putBoolean("resumeIssues", false); tinyDb.putBoolean("resumeIssues", false);
} }
} }
private void loadInitial(String token, String repoOwner, String repoName, int resultLimit) { private void loadInitial(String token, String repoOwner, String repoName, int resultLimit, String requestType) {
Call<List<Issues>> call = api.getIssues(token, repoOwner, repoName, 1, resultLimit); Call<List<Issues>> call = api.getIssues(token, repoOwner, repoName, 1, resultLimit, requestType);
call.enqueue(new Callback<List<Issues>>() { call.enqueue(new Callback<List<Issues>>() {
@ -193,13 +194,13 @@ public class IssuesFragment extends Fragment {
} }
private void loadMore(String token, String repoOwner, String repoName, int page, int resultLimit){ private void loadMore(String token, String repoOwner, String repoName, int page, int resultLimit, String requestType){
//add loading progress view //add loading progress view
issuesList.add(new Issues("load")); issuesList.add(new Issues("load"));
adapter.notifyItemInserted((issuesList.size() - 1)); adapter.notifyItemInserted((issuesList.size() - 1));
Call<List<Issues>> call = api.getIssues(token, repoOwner, repoName, page, resultLimit); Call<List<Issues>> call = api.getIssues(token, repoOwner, repoName, page, resultLimit, requestType);
call.enqueue(new Callback<List<Issues>>() { call.enqueue(new Callback<List<Issues>>() {

View File

@ -90,10 +90,10 @@ public interface ApiInterface {
Call<UserRepositories> getUserRepository(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName); Call<UserRepositories> getUserRepository(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName);
@GET("repos/{owner}/{repo}/issues") // get issues by repo @GET("repos/{owner}/{repo}/issues") // get issues by repo
Call<List<Issues>> getIssues(@Header("Authorization") String token, @Path("owner") String owner, @Path("repo") String repo, @Query("page") int page, @Query("limit") int limit); Call<List<Issues>> getIssues(@Header("Authorization") String token, @Path("owner") String owner, @Path("repo") String repo, @Query("page") int page, @Query("limit") int limit, @Query("type") String requestType);
@GET("repos/{owner}/{repo}/issues") // get closed issues by repo @GET("repos/{owner}/{repo}/issues") // get closed issues by repo
Call<List<Issues>> getClosedIssues(@Header("Authorization") String token, @Path("owner") String owner, @Path("repo") String repo, @Query("page") int page, @Query("state") String issueState, @Query("limit") int limit); Call<List<Issues>> getClosedIssues(@Header("Authorization") String token, @Path("owner") String owner, @Path("repo") String repo, @Query("page") int page, @Query("state") String issueState, @Query("limit") int limit, @Query("type") String requestType);
@GET("repos/{owner}/{repo}/issues/{index}") // get issue by id @GET("repos/{owner}/{repo}/issues/{index}") // get issue by id
Call<Issues> getIssueByIndex(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName, @Path("index") int issueIndex); Call<Issues> getIssueByIndex(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName, @Path("index") int issueIndex);