Optimize fragments, add filters, fix search and clean up #439

Merged
6543 merged 10 commits from fragment-optimization-search-fixes-across-app into master 2020-04-23 20:40:37 +00:00
2 changed files with 33 additions and 40 deletions
Showing only changes of commit c3e1cf48b0 - Show all commits

View File

@ -217,55 +217,51 @@ public class IssuesFragment extends Fragment implements ItemFilterListener<Issue
footerAdapter.add(new ProgressItem().withEnabled(false));
Handler handler = new Handler();
handler.postDelayed(() -> {
Call<List<Issues>> call = RetrofitClient.getInstance(instanceUrl, getContext()).getApiInterface().getIssues(token, repoOwner, repoName, currentPage + 1, resultLimit, requestType, issueState);
Call<List<Issues>> call = RetrofitClient.getInstance(instanceUrl, getContext()).getApiInterface().getIssues(token, repoOwner, repoName, currentPage + 1, resultLimit, requestType, issueState);
call.enqueue(new Callback<List<Issues>>() {
call.enqueue(new Callback<List<Issues>>() {
@Override
public void onResponse(@NonNull Call<List<Issues>> call, @NonNull Response<List<Issues>> response) {
@Override
public void onResponse(@NonNull Call<List<Issues>> call, @NonNull Response<List<Issues>> response) {
if(response.isSuccessful()) {
if(response.isSuccessful()) {
assert response.body() != null;
assert response.body() != null;
if(response.body().size() > 0) {
if(response.body().size() > 0) {
loadNextFlag = response.body().size() == resultLimit;
loadNextFlag = response.body().size() == resultLimit;
for(int i = 0; i < response.body().size(); i++) {
for(int i = 0; i < response.body().size(); i++) {
fastItemAdapter.add(fastItemAdapter.getAdapterItemCount(), new IssuesAdapter(getContext()).withNewItems(response.body().get(i).getTitle(), response.body().get(i).getNumber(), response.body().get(i).getUser().getAvatar_url(), response.body().get(i).getCreated_at(), response.body().get(i).getComments(), response.body().get(i).getUser().getFull_name(), response.body().get(i).getUser().getLogin()));
}
footerAdapter.clear();
noDataIssues.setVisibility(View.GONE);
fastItemAdapter.add(fastItemAdapter.getAdapterItemCount(), new IssuesAdapter(getContext()).withNewItems(response.body().get(i).getTitle(), response.body().get(i).getNumber(), response.body().get(i).getUser().getAvatar_url(), response.body().get(i).getCreated_at(), response.body().get(i).getComments(), response.body().get(i).getUser().getFull_name(), response.body().get(i).getUser().getLogin()));
}
else {
footerAdapter.clear();
}
mProgressBar.setVisibility(View.GONE);
footerAdapter.clear();
noDataIssues.setVisibility(View.GONE);
}
else {
Log.i(TAG, String.valueOf(response.code()));
footerAdapter.clear();
}
mProgressBar.setVisibility(View.GONE);
}
else {
Log.i(TAG, String.valueOf(response.code()));
}
@Override
public void onFailure(@NonNull Call<List<Issues>> call, @NonNull Throwable t) {
}
Log.i(TAG, t.toString());
}
@Override
public void onFailure(@NonNull Call<List<Issues>> call, @NonNull Throwable t) {
});
Log.i(TAG, t.toString());
}
}, 1000);
});
if(!loadNextFlag) {
footerAdapter.clear();

View File

@ -131,18 +131,6 @@ public class PullRequestsFragment extends Fragment {
});
Handler handler = new Handler();
handler.postDelayed(() -> {
if(tinyDb.getString("repoPrState").equals("closed")) {
menu.getItem(1).setIcon(R.drawable.ic_filter_closed);
}
else {
menu.getItem(1).setIcon(R.drawable.ic_filter);
}
}, 10);
apiPR = PullRequestsService.createService(ApiInterface.class, instanceUrl, context);
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, pageSize, tinyDb.getString("repoPrState"), resultLimit);
@ -279,6 +267,15 @@ public class PullRequestsFragment extends Fragment {
inflater.inflate(R.menu.filter_menu_pr, menu);
super.onCreateOptionsMenu(menu, inflater);
TinyDB tinyDb = new TinyDB(context);
if(tinyDb.getString("repoPrState").equals("closed")) {
menu.getItem(1).setIcon(R.drawable.ic_filter_closed);
}
else {
menu.getItem(1).setIcon(R.drawable.ic_filter);
}
MenuItem searchItem = menu.findItem(R.id.action_search);
androidx.appcompat.widget.SearchView searchView = (androidx.appcompat.widget.SearchView) searchItem.getActionView();
searchView.setImeOptions(EditorInfo.IME_ACTION_DONE);