Increasing performance, fixing bugs and adding syntax highlighting. (#755)

Merge branch 'performance-highlight-refactor' of https://codeberg.org/opyale/GitNex into performance-highlight-refactor

Fixing theme recognition.

Merge branch 'master' into performance-highlight-refactor

Merge commit 'refs/pull/755/head' of codeberg.org:gitnex/GitNex into performance-highlight-refactor

Add new field issueType to db

Improving theme recognition.

Fixing alignment of menu button.

Fixing cut off text.

Merge commit 'refs/pull/755/head' of codeberg.org:gitnex/GitNex into performance-highlight-refactor

Fixing crash.

Refactoring activities.

Improving drafts.

Calculating density for avatars.

Improving drafts.

Calculating density for avatars.

Increasing size of avatar.

Decreasing size of avatar.

Restoring DeepLinksActivity

Merge branch 'master' of https://codeberg.org/gitnex/GitNex into performance-highlight-refactor

 Conflicts:
	app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java

Initial commit.

Co-authored-by: M M Arif <mmarif@swatian.com>
Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/755
Reviewed-by: M M Arif <mmarif@noreply.codeberg.org>
This commit is contained in:
opyale
2020-11-02 16:17:00 +01:00
committed by M M Arif
parent 0f5858f292
commit a3bd5c2af2
152 changed files with 1549 additions and 3110 deletions

View File

@@ -24,7 +24,7 @@ public class AboutFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
FragmentAboutBinding viewBinding = FragmentAboutBinding.inflate(inflater, container, false);
TinyDB tinyDb = new TinyDB(getContext());
TinyDB tinyDb = TinyDB.getInstance(getContext());
viewBinding.appVersion.setText(AppUtil.getAppVersion(requireContext()));
viewBinding.userServerVersion.setText(tinyDb.getString("giteaVersion"));

View File

@@ -11,7 +11,6 @@ import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import org.mian.gitnex.R;
import org.mian.gitnex.activities.AdminGetUsersActivity;
import org.mian.gitnex.helpers.TinyDB;
/**
* Author M M Arif
@@ -23,8 +22,6 @@ public class AdministrationFragment extends Fragment {
View v = inflater.inflate(R.layout.fragment_administration, container, false);
TinyDB tinyDb = new TinyDB(getContext());
TextView adminUsers = v.findViewById(R.id.adminUsers);
adminUsers.setOnClickListener(v1 -> startActivity(new Intent(getContext(), AdminGetUsersActivity.class)));

View File

@@ -24,7 +24,7 @@ public class BottomSheetNotificationsFilterFragment extends BottomSheetDialogFra
@Override
public void onAttach(@NonNull Context context) {
this.tinyDB = new TinyDB(context);
this.tinyDB = TinyDB.getInstance(context);
super.onAttach(context);
}

View File

@@ -16,6 +16,7 @@ import android.widget.ImageButton;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import org.mian.gitnex.R;
@@ -34,6 +35,9 @@ import java.util.Objects;
public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
private enum Mode { EDIT, SEND }
private Mode mode = Mode.SEND;
private TinyDB tinyDB;
private DraftsApi draftsApi;
@@ -42,12 +46,13 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
private int issueNumber;
private long draftId;
private OnInteractedListener onInteractedListener;
private TextView draftsHint;
@Override
public void onAttach(@NonNull Context context) {
tinyDB = new TinyDB(context);
tinyDB = TinyDB.getInstance(context);
draftsApi = new DraftsApi(context);
repositoryId = (int) tinyDB.getLong("repositoryId", 0);
@@ -67,7 +72,7 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
draftsHint = view.findViewById(R.id.drafts_hint);
EditText commentContent = view.findViewById(R.id.comment);
EditText comment = view.findViewById(R.id.comment);
TextView toolbarTitle = view.findViewById(R.id.toolbar_title);
ImageButton close = view.findViewById(R.id.close);
ImageButton drafts = view.findViewById(R.id.drafts);
@@ -75,9 +80,12 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
send.setEnabled(false);
if(Objects.equals(arguments.getString("commentAction"), "edit")) {
if(Objects.equals(arguments.getString("commentAction"), "edit") &&
arguments.getString("draftId") == null) {
send.setImageDrawable(ContextCompat.getDrawable(requireContext(), R.drawable.ic_save));
mode = Mode.EDIT;
send.setVisibility(View.GONE);
}
if(arguments.getString("draftId") != null) {
@@ -99,16 +107,16 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
send.setEnabled(true);
send.setAlpha(1f);
commentContent.setText(arguments.getString("commentBody"));
comment.setText(arguments.getString("commentBody"));
if(arguments.getBoolean("cursorToEnd", false)) {
commentContent.setSelection(commentContent.length());
comment.setSelection(comment.length());
}
}
commentContent.requestFocus();
commentContent.setOnTouchListener((v, event) -> {
comment.requestFocus();
comment.setOnTouchListener((v, event) -> {
BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from((View) view.getParent());
@@ -127,12 +135,12 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
});
commentContent.addTextChangedListener(new TextWatcher() {
comment.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
String text = commentContent.getText().toString();
String text = comment.getText().toString();
if(text.isEmpty()) {
@@ -150,6 +158,7 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
close.setOnClickListener(v -> dismiss());
@@ -161,33 +170,69 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
startActivity(intent);
dismiss();
});
send.setOnClickListener(v -> IssueActions
.reply(getContext(), commentContent.getText().toString(), issueNumber)
.accept((status, result) -> {
send.setOnClickListener(v -> {
if(status == ActionResult.Status.SUCCESS) {
if(mode == Mode.SEND) {
Toasty.success(getContext(), getString(R.string.commentSuccess));
IssueActions
.reply(getContext(), comment.getText().toString(), issueNumber)
.accept((status, result) -> {
tinyDB.putBoolean("commentPosted", true);
tinyDB.putBoolean("resumeIssues", true);
tinyDB.putBoolean("resumePullRequests", true);
if(status == ActionResult.Status.SUCCESS) {
if(draftId != 0 && tinyDB.getBoolean("draftsCommentsDeletionEnabled")) {
Toasty.success(getContext(), getString(R.string.commentSuccess));
draftsApi.deleteSingleDraft((int) draftId);
}
if(draftId != 0 && tinyDB.getBoolean("draftsCommentsDeletionEnabled")) {
draftsApi.deleteSingleDraft((int) draftId);
}
dismiss();
}
else {
tinyDB.putBoolean("commentPosted", true);
tinyDB.putBoolean("resumeIssues", true);
tinyDB.putBoolean("resumePullRequests", true);
Toasty.error(getContext(), getString(R.string.commentError));
dismiss();
}
}));
if(onInteractedListener != null) {
onInteractedListener.onInteracted();
}
}
else {
Toasty.error(getContext(), getString(R.string.commentError));
}
dismiss();
});
} else {
IssueActions
.edit(getContext(), comment.getText().toString(), arguments.getInt("commentId"))
.accept((status, result) -> {
if(status == ActionResult.Status.SUCCESS) {
if(draftId != 0 && tinyDB.getBoolean("draftsCommentsDeletionEnabled")) {
draftsApi.deleteSingleDraft((int) draftId);
}
tinyDB.putBoolean("commentEdited", true);
if(onInteractedListener != null) {
onInteractedListener.onInteracted();
}
}
else {
Toasty.error(getContext(), getString(R.string.genericError));
}
dismiss();
});
}
});
return view;
}
@@ -216,9 +261,26 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
}
else {
String draftType;
if(tinyDB.getString("issueType").equalsIgnoreCase("Issue")) {
draftType = StaticGlobalVariables.draftTypeIssue;
}
else if(tinyDB.getString("issueType").equalsIgnoreCase("Pull")) {
draftType = StaticGlobalVariables.draftTypePull;
}
else {
draftType = "";
}
if(draftId == 0) {
draftId = draftsApi.insertDraft(repositoryId, currentActiveAccountId, issueNumber, text, StaticGlobalVariables.draftTypeComment, "TODO");
} else {
draftId = draftsApi.insertDraft(repositoryId, currentActiveAccountId, issueNumber, text, draftType, "TODO", tinyDB.getString("issueType"));
}
else {
DraftsApi.updateDraft(text, (int) draftId, "TODO");
}
@@ -234,4 +296,12 @@ public class BottomSheetReplyFragment extends BottomSheetDialogFragment {
return fragment;
}
public void setOnInteractedListener(OnInteractedListener onInteractedListener) {
this.onInteractedListener = onInteractedListener;
}
public interface OnInteractedListener { void onInteracted(); }
}

View File

@@ -26,7 +26,7 @@ public class BottomSheetRepoFragment extends BottomSheetDialogFragment {
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.bottom_sheet_repo, container, false);
final TinyDB tinyDb = new TinyDB(getContext());
final TinyDB tinyDb = TinyDB.getInstance(getContext());
TextView createLabel = v.findViewById(R.id.createLabel);
TextView createIssue = v.findViewById(R.id.createNewIssue);

View File

@@ -37,7 +37,7 @@ public class BottomSheetSingleIssueFragment extends BottomSheetDialogFragment {
View v = inflater.inflate(R.layout.bottom_sheet_single_issue, container, false);
final Context ctx = getContext();
final TinyDB tinyDB = new TinyDB(ctx);
final TinyDB tinyDB = TinyDB.getInstance(ctx);
TextView editIssue = v.findViewById(R.id.editIssue);
TextView editLabels = v.findViewById(R.id.editLabels);

View File

@@ -16,7 +16,6 @@ import androidx.lifecycle.ViewModelProvider;
import org.mian.gitnex.R;
import org.mian.gitnex.adapters.CollaboratorsAdapter;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.models.Collaborators;
import org.mian.gitnex.viewmodels.CollaboratorsViewModel;
import java.util.List;
@@ -65,18 +64,12 @@ public class CollaboratorsFragment extends Fragment {
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_collaborators, container, false);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
noDataCollaborators = v.findViewById(R.id.noDataCollaborators);
mProgressBar = v.findViewById(R.id.progress_bar);
mGridView = v.findViewById(R.id.gridView);
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName);
fetchDataAsync(Authorization.get(getContext()), repoOwner, repoName);
return v;
}
@@ -96,11 +89,11 @@ public class CollaboratorsFragment extends Fragment {
void onFragmentInteraction(Uri uri);
}
private void fetchDataAsync(String instanceUrl, String instanceToken, String owner, String repo) {
private void fetchDataAsync(String instanceToken, String owner, String repo) {
CollaboratorsViewModel collaboratorsModel = new ViewModelProvider(this).get(CollaboratorsViewModel.class);
collaboratorsModel.getCollaboratorsList(instanceUrl, instanceToken, owner, repo, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Collaborators>>() {
collaboratorsModel.getCollaboratorsList(instanceToken, owner, repo, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Collaborators>>() {
@Override
public void onChanged(@Nullable List<Collaborators> collaboratorsListMain) {
adapter = new CollaboratorsAdapter(getContext(), collaboratorsListMain);

View File

@@ -54,7 +54,7 @@ public class DraftsFragment extends Fragment {
((MainActivity) requireActivity()).setActionBarTitle(getResources().getString(R.string.titleDrafts));
TinyDB tinyDb = new TinyDB(ctx);
TinyDB tinyDb = TinyDB.getInstance(ctx);
draftsList_ = new ArrayList<>();
draftsApi = new DraftsApi(ctx);

View File

@@ -36,7 +36,7 @@ public class ExploreFragment extends Fragment {
View v = inflater.inflate(R.layout.fragment_explore, container,false);
ctx = getContext();
tinyDB = new TinyDB(ctx);
tinyDB = TinyDB.getInstance(ctx);
((MainActivity) requireActivity()).setActionBarTitle(getResources().getString(R.string.navExplore));

View File

@@ -58,10 +58,6 @@ public class ExploreRepositoriesFragment extends Fragment {
private List<UserRepositories> dataList;
private ExploreRepositoriesAdapter adapter;
private String instanceUrl;
private String loginUid;
private String instanceToken;
private Dialog dialogFilterOptions;
private CustomExploreRepositoriesDialogBinding filterBinding;
@@ -72,11 +68,7 @@ public class ExploreRepositoriesFragment extends Fragment {
setHasOptionsMenu(true);
ctx = getContext();
tinyDb = new TinyDB(getContext());
instanceUrl = tinyDb.getString("instanceUrl");
loginUid = tinyDb.getString("loginUid");
instanceToken = "token " + tinyDb.getString(loginUid + "-token");
tinyDb = TinyDB.getInstance(getContext());
dataList = new ArrayList<>();
adapter = new ExploreRepositoriesAdapter(dataList, ctx);
@@ -183,7 +175,7 @@ public class ExploreRepositoriesFragment extends Fragment {
viewBinding.loadingMoreView.setVisibility(View.VISIBLE);
}
Call<ExploreRepositories> call = RetrofitClient.getInstance(instanceUrl, getContext()).getApiInterface().queryRepos(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), searchKeyword, repoTypeInclude, sort, order, exploreRepoIncludeTopic, exploreRepoIncludeDescription, exploreRepoIncludeTemplate, exploreRepoOnlyArchived, limit, pageCurrentIndex);
Call<ExploreRepositories> call = RetrofitClient.getApiInterface(ctx).queryRepos(Authorization.get(getContext()), searchKeyword, repoTypeInclude, sort, order, exploreRepoIncludeTopic, exploreRepoIncludeDescription, exploreRepoIncludeTemplate, exploreRepoOnlyArchived, limit, pageCurrentIndex);
call.enqueue(new Callback<ExploreRepositories>() {

View File

@@ -26,7 +26,6 @@ import org.mian.gitnex.activities.RepoDetailActivity;
import org.mian.gitnex.adapters.FilesAdapter;
import org.mian.gitnex.helpers.AppUtil;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.viewmodels.FilesViewModel;
import java.util.ArrayList;
import java.util.Collections;
@@ -89,11 +88,6 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
View v = inflater.inflate(R.layout.fragment_files, container, false);
setHasOptionsMenu(true);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
noDataFiles = v.findViewById(R.id.noDataFiles);
filesFrame = v.findViewById(R.id.filesFrame);
@@ -115,11 +109,11 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
fileStructure.setText("");
ref = repoBranch;
mBreadcrumbsView.setItems(new ArrayList<>(Collections.singletonList(BreadcrumbItem.createSimpleItem(getResources().getString(R.string.filesBreadcrumbRoot) + getResources().getString(R.string.colonDivider) + ref))));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, repoBranch);
fetchDataAsync(Authorization.get(getContext()), repoOwner, repoName, repoBranch);
});
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, ref);
fetchDataAsync(Authorization.get(getContext()), repoOwner, repoName, ref);
return v;
}
@@ -133,11 +127,6 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
@Override
public void onClickDir(String dirName) {
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
StringBuilder breadcrumbBuilder = new StringBuilder();
breadcrumbBuilder.append(fileStructure.getText().toString()).append("/").append(dirName);
@@ -158,7 +147,7 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
if(position == 0) {
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, ref);
fetchDataAsync(Authorization.get(getContext()), repoOwner, repoName, ref);
fileStructure.setText("");
return;
}
@@ -169,7 +158,7 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
String currentIndex = (result + item.getSelectedItem()).substring(1);
fetchDataAsyncSub(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, currentIndex, ref);
fetchDataAsyncSub(Authorization.get(getContext()), repoOwner, repoName, currentIndex, ref);
}
@@ -179,7 +168,7 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
}
});
fetchDataAsyncSub(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, finalDirName_, ref);
fetchDataAsyncSub(Authorization.get(getContext()), repoOwner, repoName, finalDirName_, ref);
}
@@ -200,14 +189,14 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
requireContext().startActivity(intent);
}
private void fetchDataAsync(String instanceUrl, String instanceToken, String owner, String repo, String ref) {
private void fetchDataAsync(String instanceToken, String owner, String repo, String ref) {
mRecyclerView.setVisibility(View.GONE);
mProgressBar.setVisibility(View.VISIBLE);
FilesViewModel filesModel = new ViewModelProvider(this).get(FilesViewModel.class);
filesModel.getFilesList(instanceUrl, instanceToken, owner, repo, ref, getContext(), mProgressBar, noDataFiles).observe(getViewLifecycleOwner(), filesListMain -> {
filesModel.getFilesList(instanceToken, owner, repo, ref, getContext(), mProgressBar, noDataFiles).observe(getViewLifecycleOwner(), filesListMain -> {
adapter = new FilesAdapter(getContext(), filesListMain, FilesFragment.this);
mBreadcrumbsView.removeItemAfter(1);
@@ -231,14 +220,14 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
}
private void fetchDataAsyncSub(String instanceUrl, String instanceToken, String owner, String repo, String filesDir, String ref) {
private void fetchDataAsyncSub(String instanceToken, String owner, String repo, String filesDir, String ref) {
mRecyclerView.setVisibility(View.GONE);
mProgressBar.setVisibility(View.VISIBLE);
FilesViewModel filesModel2 = new ViewModelProvider(this).get(FilesViewModel.class);
filesModel2.getFilesList2(instanceUrl, instanceToken, owner, repo, filesDir, ref, getContext(), mProgressBar, noDataFiles).observe(this, filesListMain2 -> {
filesModel2.getFilesList2(instanceToken, owner, repo, filesDir, ref, getContext(), mProgressBar, noDataFiles).observe(this, filesListMain2 -> {
adapter = new FilesAdapter(getContext(), filesListMain2, FilesFragment.this);

View File

@@ -23,13 +23,12 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import org.mian.gitnex.R;
import org.mian.gitnex.activities.RepoDetailActivity;
import org.mian.gitnex.adapters.IssuesAdapter;
import org.mian.gitnex.clients.AppApiService;
import org.mian.gitnex.clients.RetrofitClient;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.StaticGlobalVariables;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.helpers.Toasty;
import org.mian.gitnex.helpers.Version;
import org.mian.gitnex.interfaces.ApiInterface;
import org.mian.gitnex.models.Issues;
import java.util.ArrayList;
import java.util.List;
@@ -47,7 +46,6 @@ public class IssuesFragment extends Fragment {
private RecyclerView recyclerView;
private List<Issues> issuesList;
private IssuesAdapter adapter;
private ApiInterface api;
private Context context;
private int pageSize = StaticGlobalVariables.issuesPageInit;
private ProgressBar mProgressBar;
@@ -65,12 +63,11 @@ public class IssuesFragment extends Fragment {
setHasOptionsMenu(true);
context = getContext();
TinyDB tinyDb = new TinyDB(getContext());
TinyDB tinyDb = TinyDB.getInstance(getContext());
String repoFullName = tinyDb.getString("repoFullName");
String[] parts = repoFullName.split("/");
final String repoOwner = parts[0];
final String repoName = parts[1];
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
@@ -102,7 +99,7 @@ public class IssuesFragment extends Fragment {
if(issuesList.size() == resultLimit || pageSize == resultLimit) {
int page = (issuesList.size() + resultLimit) / resultLimit;
loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, resultLimit, requestType, tinyDb.getString("repoIssuesState"));
loadMore(Authorization.get(getContext()), repoOwner, repoName, page, resultLimit, requestType, tinyDb.getString("repoIssuesState"));
}
@@ -129,7 +126,7 @@ public class IssuesFragment extends Fragment {
if(issuesList.size() == resultLimit || pageSize == resultLimit) {
int page = (issuesList.size() + resultLimit) / resultLimit;
loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, resultLimit, requestType, tinyDb.getString("repoIssuesState"));
loadMore(Authorization.get(getContext()), repoOwner, repoName, page, resultLimit, requestType, tinyDb.getString("repoIssuesState"));
}
@@ -140,13 +137,12 @@ public class IssuesFragment extends Fragment {
mProgressBar.setVisibility(View.VISIBLE);
noDataIssues.setVisibility(View.GONE);
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, requestType, issueState);
loadInitial(Authorization.get(getContext()), repoOwner, repoName, resultLimit, requestType, issueState);
recyclerView.setAdapter(adapter);
});
api = AppApiService.createService(ApiInterface.class, instanceUrl, getContext());
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, requestType, tinyDb.getString("repoIssuesState"));
loadInitial(Authorization.get(getContext()), repoOwner, repoName, resultLimit, requestType, tinyDb.getString("repoIssuesState"));
return v;
@@ -156,17 +152,16 @@ public class IssuesFragment extends Fragment {
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String loginUid = tinyDb.getString("loginUid");
TinyDB tinyDb = TinyDB.getInstance(getContext());
String repoFullName = tinyDb.getString("repoFullName");
String[] parts = repoFullName.split("/");
final String repoOwner = parts[0];
final String repoName = parts[1];
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
if(tinyDb.getBoolean("resumeIssues")) {
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, requestType, tinyDb.getString("repoIssuesState"));
loadInitial(Authorization.get(getContext()), repoOwner, repoName, resultLimit, requestType, tinyDb.getString("repoIssuesState"));
tinyDb.putBoolean("resumeIssues", false);
}
@@ -175,7 +170,7 @@ public class IssuesFragment extends Fragment {
private void loadInitial(String token, String repoOwner, String repoName, int resultLimit, String requestType, String issueState) {
Call<List<Issues>> call = api.getIssues(token, repoOwner, repoName, 1, resultLimit, requestType, issueState);
Call<List<Issues>> call = RetrofitClient.getApiInterface(context).getIssues(token, repoOwner, repoName, 1, resultLimit, requestType, issueState);
call.enqueue(new Callback<List<Issues>>() {
@@ -230,7 +225,7 @@ public class IssuesFragment extends Fragment {
progressLoadMore.setVisibility(View.VISIBLE);
Call<List<Issues>> call = api.getIssues(token, repoOwner, repoName, page, resultLimit, requestType, issueState);
Call<List<Issues>> call = RetrofitClient.getApiInterface(context).getIssues(token, repoOwner, repoName, page, resultLimit, requestType, issueState);
call.enqueue(new Callback<List<Issues>>() {
@@ -285,7 +280,7 @@ public class IssuesFragment extends Fragment {
inflater.inflate(R.menu.filter_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
TinyDB tinyDb = new TinyDB(context);
TinyDB tinyDb = TinyDB.getInstance(context);
if(tinyDb.getString("repoIssuesState").equals("closed")) {
menu.getItem(1).setIcon(R.drawable.ic_filter_closed);

View File

@@ -71,10 +71,6 @@ public class LabelsFragment extends Fragment {
final View v = inflater.inflate(R.layout.fragment_labels, container, false);
setHasOptionsMenu(true);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
noData = v.findViewById(R.id.noData);
@@ -91,11 +87,11 @@ public class LabelsFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
LabelsViewModel.loadLabelsList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, getContext());
LabelsViewModel.loadLabelsList(Authorization.get(getContext()), repoOwner, repoName, getContext());
}, 200));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName);
fetchDataAsync(Authorization.get(getContext()), repoOwner, repoName);
return v;
@@ -104,17 +100,15 @@ public class LabelsFragment extends Fragment {
@Override
public void onResume() {
super.onResume();
final TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final TinyDB tinyDb = TinyDB.getInstance(getContext());
String repoFullName = tinyDb.getString("repoFullName");
String[] parts = repoFullName.split("/");
final String repoOwner = parts[0];
final String repoName = parts[1];
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
if(tinyDb.getBoolean("labelsRefresh")) {
LabelsViewModel.loadLabelsList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, getContext());
LabelsViewModel.loadLabelsList(Authorization.get(getContext()), repoOwner, repoName, getContext());
tinyDb.putBoolean("labelsRefresh", false);
}
}
@@ -135,11 +129,11 @@ public class LabelsFragment extends Fragment {
void onFragmentInteraction(Uri uri);
}
private void fetchDataAsync(String instanceUrl, String instanceToken, String owner, String repo) {
private void fetchDataAsync(String instanceToken, String owner, String repo) {
LabelsViewModel labelsModel = new ViewModelProvider(this).get(LabelsViewModel.class);
labelsModel.getLabelsList(instanceUrl, instanceToken, owner, repo, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Labels>>() {
labelsModel.getLabelsList(instanceToken, owner, repo, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Labels>>() {
@Override
public void onChanged(@Nullable List<Labels> labelsListMain) {
adapter = new LabelsAdapter(getContext(), labelsListMain);

View File

@@ -68,8 +68,7 @@ public class MembersByOrgFragment extends Fragment {
View v = inflater.inflate(R.layout.fragment_members_by_org, container, false);
setHasOptionsMenu(true);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
TinyDB tinyDb = TinyDB.getInstance(getContext());
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
noDataMembers = v.findViewById(R.id.noDataMembers);
@@ -77,16 +76,16 @@ public class MembersByOrgFragment extends Fragment {
progressBar = v.findViewById(R.id.progressBar);
mGridView = v.findViewById(R.id.gridView);
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), orgName);
fetchDataAsync(Authorization.get(getContext()), orgName);
return v;
}
private void fetchDataAsync(String instanceUrl, String instanceToken, String owner) {
private void fetchDataAsync(String instanceToken, String owner) {
MembersByOrgViewModel membersModel= new ViewModelProvider(this).get(MembersByOrgViewModel.class);
membersModel.getMembersList(instanceUrl, instanceToken, owner, getContext()).observe(getViewLifecycleOwner(), new Observer<List<UserInfo>>() {
membersModel.getMembersList(instanceToken, owner, getContext()).observe(getViewLifecycleOwner(), new Observer<List<UserInfo>>() {
@Override
public void onChanged(@Nullable List<UserInfo> membersListMain) {
adapter = new MembersByOrgAdapter(getContext(), membersListMain);

View File

@@ -18,13 +18,12 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import org.mian.gitnex.R;
import org.mian.gitnex.activities.RepoDetailActivity;
import org.mian.gitnex.adapters.MilestonesAdapter;
import org.mian.gitnex.clients.AppApiService;
import org.mian.gitnex.clients.RetrofitClient;
import org.mian.gitnex.databinding.FragmentMilestonesBinding;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.StaticGlobalVariables;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.helpers.Version;
import org.mian.gitnex.interfaces.ApiInterface;
import org.mian.gitnex.models.Milestones;
import java.util.ArrayList;
import java.util.List;
@@ -43,7 +42,6 @@ public class MilestonesFragment extends Fragment {
private Menu menu;
private List<Milestones> dataList;
private MilestonesAdapter adapter;
private ApiInterface api;
private Context ctx;
private int pageSize = StaticGlobalVariables.milestonesPageInit;
private String TAG = StaticGlobalVariables.tagMilestonesFragment;
@@ -56,12 +54,11 @@ public class MilestonesFragment extends Fragment {
setHasOptionsMenu(true);
ctx = getContext();
TinyDB tinyDb = new TinyDB(getContext());
TinyDB tinyDb = TinyDB.getInstance(getContext());
String repoFullName = tinyDb.getString("repoFullName");
String[] parts = repoFullName.split("/");
final String repoOwner = parts[0];
final String repoName = parts[1];
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
@@ -83,7 +80,7 @@ public class MilestonesFragment extends Fragment {
if(dataList.size() == resultLimit || pageSize == resultLimit) {
int page = (dataList.size() + resultLimit) / resultLimit;
loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, resultLimit, tinyDb.getString("milestoneState"));
loadMore(Authorization.get(getContext()), repoOwner, repoName, page, resultLimit, tinyDb.getString("milestoneState"));
}
@@ -99,7 +96,7 @@ public class MilestonesFragment extends Fragment {
dataList.clear();
viewBinding.pullToRefresh.setRefreshing(false);
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, tinyDb.getString("milestoneState"));
loadInitial(Authorization.get(getContext()), repoOwner, repoName, resultLimit, tinyDb.getString("milestoneState"));
adapter.updateList(dataList);
}, 50));
@@ -124,7 +121,7 @@ public class MilestonesFragment extends Fragment {
if(dataList.size() == resultLimit || pageSize == resultLimit) {
int page = (dataList.size() + resultLimit) / resultLimit;
loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, resultLimit, milestoneState);
loadMore(Authorization.get(getContext()), repoOwner, repoName, page, resultLimit, milestoneState);
}
@@ -137,13 +134,12 @@ public class MilestonesFragment extends Fragment {
viewBinding.progressBar.setVisibility(View.VISIBLE);
viewBinding.noDataMilestone.setVisibility(View.GONE);
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, milestoneState);
loadInitial(Authorization.get(getContext()), repoOwner, repoName, resultLimit, milestoneState);
viewBinding.recyclerView.setAdapter(adapter);
});
api = AppApiService.createService(ApiInterface.class, instanceUrl, ctx);
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, tinyDb.getString("milestoneState"));
loadInitial(Authorization.get(getContext()), repoOwner, repoName, resultLimit, tinyDb.getString("milestoneState"));
return viewBinding.getRoot();
@@ -153,7 +149,7 @@ public class MilestonesFragment extends Fragment {
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
TinyDB tinyDb = TinyDB.getInstance(getContext());
final String loginUid = tinyDb.getString("loginUid");
String repoFullName = tinyDb.getString("repoFullName");
String[] parts = repoFullName.split("/");
@@ -163,7 +159,7 @@ public class MilestonesFragment extends Fragment {
if(tinyDb.getBoolean("milestoneCreated")) {
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, resultLimit, tinyDb.getString("milestoneState"));
loadInitial(Authorization.get(getContext()), repoOwner, repoName, resultLimit, tinyDb.getString("milestoneState"));
tinyDb.putBoolean("milestoneCreated", false);
}
@@ -172,7 +168,7 @@ public class MilestonesFragment extends Fragment {
private void loadInitial(String token, String repoOwner, String repoName, int resultLimit, String milestoneState) {
Call<List<Milestones>> call = api.getMilestones(token, repoOwner, repoName, 1, resultLimit, milestoneState);
Call<List<Milestones>> call = RetrofitClient.getApiInterface(ctx).getMilestones(token, repoOwner, repoName, 1, resultLimit, milestoneState);
call.enqueue(new Callback<List<Milestones>>() {
@@ -221,7 +217,7 @@ public class MilestonesFragment extends Fragment {
viewBinding.progressLoadMore.setVisibility(View.VISIBLE);
Call<List<Milestones>> call = api.getMilestones(token, repoOwner, repoName, page, resultLimit, milestoneState);
Call<List<Milestones>> call = RetrofitClient.getApiInterface(ctx).getMilestones(token, repoOwner, repoName, page, resultLimit, milestoneState);
call.enqueue(new Callback<List<Milestones>>() {
@@ -278,7 +274,7 @@ public class MilestonesFragment extends Fragment {
inflater.inflate(R.menu.filter_menu_milestone, menu);
super.onCreateOptionsMenu(menu, inflater);
TinyDB tinyDb = new TinyDB(ctx);
TinyDB tinyDb = TinyDB.getInstance(ctx);
if(tinyDb.getString("milestoneState").equals("closed")) {
menu.getItem(1).setIcon(R.drawable.ic_filter_closed);

View File

@@ -26,7 +26,6 @@ import org.mian.gitnex.R;
import org.mian.gitnex.activities.CreateRepoActivity;
import org.mian.gitnex.activities.MainActivity;
import org.mian.gitnex.adapters.MyReposListAdapter;
import org.mian.gitnex.helpers.AppUtil;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.viewmodels.MyRepositoriesViewModel;
@@ -78,15 +77,10 @@ public class MyRepositoriesFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
final View v = inflater.inflate(R.layout.fragment_my_repositories, container, false);
setHasOptionsMenu(true);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
TinyDB tinyDb = TinyDB.getInstance(getContext());
final String userLogin = tinyDb.getString("userLogin");
tinyDb.putBoolean("isRepoAdmin", true);
@@ -132,11 +126,11 @@ public class MyRepositoriesFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
MyRepositoriesViewModel.loadMyReposList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), userLogin, getContext(), pageSize, resultLimit);
MyRepositoriesViewModel.loadMyReposList(Authorization.get(getContext()), userLogin, getContext(), pageSize, resultLimit);
}, 50));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), userLogin, pageSize, resultLimit);
fetchDataAsync(Authorization.get(getContext()), userLogin, pageSize, resultLimit);
return v;
@@ -145,24 +139,21 @@ public class MyRepositoriesFragment extends Fragment {
@Override
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
TinyDB tinyDb = TinyDB.getInstance(getContext());
final String userLogin = tinyDb.getString("userLogin");
if(tinyDb.getBoolean("repoCreated")) {
MyRepositoriesViewModel.loadMyReposList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), userLogin, getContext(), pageSize, resultLimit);
MyRepositoriesViewModel.loadMyReposList(Authorization.get(getContext()), userLogin, getContext(), pageSize, resultLimit);
tinyDb.putBoolean("repoCreated", false);
}
}
private void fetchDataAsync(String instanceUrl, String instanceToken, String userLogin, int pageSize, int resultLimit) {
private void fetchDataAsync(String instanceToken, String userLogin, int pageSize, int resultLimit) {
MyRepositoriesViewModel myRepoModel = new ViewModelProvider(this).get(MyRepositoriesViewModel.class);
myRepoModel.getCurrentUserRepositories(instanceUrl, instanceToken, userLogin, getContext(), pageSize, resultLimit).observe(getViewLifecycleOwner(),
myRepoModel.getCurrentUserRepositories(instanceToken, userLogin, getContext(), pageSize, resultLimit).observe(getViewLifecycleOwner(),
myReposListMain -> {
adapter = new MyReposListAdapter(getContext(), myReposListMain);
@@ -183,8 +174,6 @@ public class MyRepositoriesFragment extends Fragment {
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
inflater.inflate(R.menu.search_menu, menu);
super.onCreateOptionsMenu(menu, inflater);

View File

@@ -80,7 +80,7 @@ public class NotificationsFragment extends Fragment implements NotificationsAdap
activity = requireActivity();
context = getContext();
tinyDB = new TinyDB(context);
tinyDB = TinyDB.getInstance(context);
pageResultLimit = StaticGlobalVariables.getCurrentResultLimit(context);
tinyDB.putString("notificationsFilterState", currentFilterMode);
@@ -193,7 +193,6 @@ public class NotificationsFragment extends Fragment implements NotificationsAdap
loadingMoreView.setVisibility(View.VISIBLE);
}
String instanceUrl = tinyDB.getString("instanceUrl");
String loginUid = tinyDB.getString("loginUid");
String instanceToken = "token " + tinyDB.getString(loginUid + "-token");
@@ -201,8 +200,8 @@ public class NotificationsFragment extends Fragment implements NotificationsAdap
new String[]{"pinned", "read"} :
new String[]{"pinned", "unread"};
Call<List<NotificationThread>> call = RetrofitClient.getInstance(instanceUrl, context)
.getApiInterface()
Call<List<NotificationThread>> call = RetrofitClient
.getApiInterface(context)
.getNotificationThreads(instanceToken, false, filter,
StaticGlobalVariables.defaultOldestTimestamp, "",
pageCurrentIndex, pageResultLimit);

View File

@@ -18,7 +18,6 @@ import org.mian.gitnex.clients.PicassoService;
import org.mian.gitnex.clients.RetrofitClient;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.RoundedTransformation;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.models.Organization;
import retrofit2.Call;
import retrofit2.Callback;
@@ -67,11 +66,6 @@ public class OrganizationInfoFragment extends Fragment {
View v = inflater.inflate(R.layout.fragment_organization_info, container, false);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
mProgressBar = v.findViewById(R.id.progress_bar);
orgAvatar = v.findViewById(R.id.orgAvatar);
TextView orgNameInfo = v.findViewById(R.id.orgNameInfo);
@@ -82,17 +76,16 @@ public class OrganizationInfoFragment extends Fragment {
orgNameInfo.setText(orgName);
getOrgInfo(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), orgName);
getOrgInfo(Authorization.get(getContext()), orgName);
return v;
}
private void getOrgInfo(String instanceUrl, String token, final String owner) {
private void getOrgInfo(String token, final String owner) {
Call<Organization> call = RetrofitClient
.getInstance(instanceUrl, getContext())
.getApiInterface()
.getApiInterface(getContext())
.getOrganization(token, owner);
call.enqueue(new Callback<Organization>() {

View File

@@ -26,7 +26,6 @@ import org.mian.gitnex.R;
import org.mian.gitnex.activities.CreateOrganizationActivity;
import org.mian.gitnex.activities.MainActivity;
import org.mian.gitnex.adapters.OrganizationsListAdapter;
import org.mian.gitnex.helpers.AppUtil;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.viewmodels.OrganizationListViewModel;
@@ -50,13 +49,6 @@ public class OrganizationsFragment extends Fragment {
final View v = inflater.inflate(R.layout.fragment_organizations, container, false);
setHasOptionsMenu(true);
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
((MainActivity) requireActivity()).setActionBarTitle(getResources().getString(R.string.navOrgs));
@@ -98,11 +90,11 @@ public class OrganizationsFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
OrganizationListViewModel.loadOrgsList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext());
OrganizationListViewModel.loadOrgsList(Authorization.get(getContext()), getContext());
}, 50));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken));
fetchDataAsync(Authorization.get(getContext()));
return v;
@@ -111,22 +103,21 @@ public class OrganizationsFragment extends Fragment {
@Override
public void onResume(){
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
TinyDB tinyDb = TinyDB.getInstance(getContext());
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
if(tinyDb.getBoolean("orgCreated")) {
OrganizationListViewModel.loadOrgsList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext());
OrganizationListViewModel.loadOrgsList(Authorization.get(getContext()), getContext());
tinyDb.putBoolean("orgCreated", false);
}
}
private void fetchDataAsync(String instanceUrl, String instanceToken) {
private void fetchDataAsync(String instanceToken) {
OrganizationListViewModel orgModel = new ViewModelProvider(this).get(OrganizationListViewModel.class);
orgModel.getUserOrgs(instanceUrl, instanceToken, getContext()).observe(getViewLifecycleOwner(), orgsListMain -> {
orgModel.getUserOrgs(instanceToken, getContext()).observe(getViewLifecycleOwner(), orgsListMain -> {
adapter = new OrganizationsListAdapter(getContext(), orgsListMain);
if(adapter.getItemCount() > 0) {
@@ -146,8 +137,6 @@ public class OrganizationsFragment extends Fragment {
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
inflater.inflate(R.menu.search_menu, menu);
super.onCreateOptionsMenu(menu, inflater);

View File

@@ -20,7 +20,6 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import org.mian.gitnex.R;
import org.mian.gitnex.adapters.ProfileEmailsAdapter;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.models.Emails;
import org.mian.gitnex.viewmodels.ProfileEmailsViewModel;
import java.util.List;
@@ -70,11 +69,6 @@ public class ProfileEmailsFragment extends Fragment {
final View v = inflater.inflate(R.layout.fragment_profile_emails, container, false);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
noDataEmails = v.findViewById(R.id.noDataEmails);
@@ -92,21 +86,21 @@ public class ProfileEmailsFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
ProfileEmailsViewModel.loadEmailsList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext());
ProfileEmailsViewModel.loadEmailsList(Authorization.get(getContext()), getContext());
}, 200));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken));
fetchDataAsync(Authorization.get(getContext()));
return v;
}
private void fetchDataAsync(String instanceUrl, String instanceToken) {
private void fetchDataAsync(String instanceToken) {
ProfileEmailsViewModel profileEmailModel = new ViewModelProvider(this).get(ProfileEmailsViewModel.class);
profileEmailModel.getEmailsList(instanceUrl, instanceToken, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Emails>>() {
profileEmailModel.getEmailsList(instanceToken, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Emails>>() {
@Override
public void onChanged(@Nullable List<Emails> emailsListMain) {
adapter = new ProfileEmailsAdapter(getContext(), emailsListMain);

View File

@@ -21,7 +21,6 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import org.mian.gitnex.R;
import org.mian.gitnex.adapters.ProfileFollowersAdapter;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.models.UserInfo;
import org.mian.gitnex.viewmodels.ProfileFollowersViewModel;
import java.util.List;
@@ -70,11 +69,6 @@ public class ProfileFollowersFragment extends Fragment {
Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.fragment_profile_followers, container, false);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
noDataFollowers = v.findViewById(R.id.noDataFollowers);
@@ -92,20 +86,20 @@ public class ProfileFollowersFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
ProfileFollowersViewModel.loadFollowersList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext());
ProfileFollowersViewModel.loadFollowersList(Authorization.get(getContext()), getContext());
}, 200));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken));
fetchDataAsync(Authorization.get(getContext()));
return v;
}
private void fetchDataAsync(String instanceUrl, String instanceToken) {
private void fetchDataAsync(String instanceToken) {
ProfileFollowersViewModel pfModel = new ViewModelProvider(this).get(ProfileFollowersViewModel.class);
pfModel.getFollowersList(instanceUrl, instanceToken, getContext()).observe(getViewLifecycleOwner(), new Observer<List<UserInfo>>() {
pfModel.getFollowersList(instanceToken, getContext()).observe(getViewLifecycleOwner(), new Observer<List<UserInfo>>() {
@Override
public void onChanged(@Nullable List<UserInfo> pfListMain) {
adapter = new ProfileFollowersAdapter(getContext(), pfListMain);

View File

@@ -70,10 +70,7 @@ public class ProfileFollowingFragment extends Fragment {
Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.fragment_profile_following, container, false);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
TinyDB tinyDb = TinyDB.getInstance(getContext());
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
@@ -92,20 +89,20 @@ public class ProfileFollowingFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
ProfileFollowingViewModel.loadFollowingList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext());
ProfileFollowingViewModel.loadFollowingList(Authorization.get(getContext()), getContext());
}, 200));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken));
fetchDataAsync(Authorization.get(getContext()));
return v;
}
private void fetchDataAsync(String instanceUrl, String instanceToken) {
private void fetchDataAsync(String instanceToken) {
ProfileFollowingViewModel pfModel = new ViewModelProvider(this).get(ProfileFollowingViewModel.class);
pfModel.getFollowingList(instanceUrl, instanceToken, getContext()).observe(getViewLifecycleOwner(), new Observer<List<UserInfo>>() {
pfModel.getFollowingList(instanceToken, getContext()).observe(getViewLifecycleOwner(), new Observer<List<UserInfo>>() {
@Override
public void onChanged(@Nullable List<UserInfo> pfListMain) {
adapter = new ProfileFollowingAdapter(getContext(), pfListMain);

View File

@@ -50,7 +50,7 @@ public class ProfileFragment extends Fragment {
((MainActivity) requireActivity()).setActionBarTitle(getResources().getString(R.string.navProfile));
TinyDB tinyDb = new TinyDB(getContext());
TinyDB tinyDb = TinyDB.getInstance(getContext());
BlurView blurView = v.findViewById(R.id.blurView);
TextView userFullName = v.findViewById(R.id.userFullName);

View File

@@ -24,17 +24,15 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import org.mian.gitnex.R;
import org.mian.gitnex.activities.RepoDetailActivity;
import org.mian.gitnex.adapters.PullRequestsAdapter;
import org.mian.gitnex.clients.AppApiService;
import org.mian.gitnex.clients.RetrofitClient;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.StaticGlobalVariables;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.helpers.Toasty;
import org.mian.gitnex.helpers.Version;
import org.mian.gitnex.interfaces.ApiInterface;
import org.mian.gitnex.models.PullRequests;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@@ -50,7 +48,6 @@ public class PullRequestsFragment extends Fragment {
private RecyclerView recyclerView;
private List<PullRequests> prList;
private PullRequestsAdapter adapter;
private ApiInterface apiPR;
private String TAG = StaticGlobalVariables.tagPullRequestsList;
private Context context;
private int pageSize = StaticGlobalVariables.prPageInit;
@@ -66,12 +63,11 @@ public class PullRequestsFragment extends Fragment {
setHasOptionsMenu(true);
context = getContext();
TinyDB tinyDb = new TinyDB(getContext());
TinyDB tinyDb = TinyDB.getInstance(getContext());
String repoFullName = tinyDb.getString("repoFullName");
String[] parts = repoFullName.split("/");
final String repoOwner = parts[0];
final String repoName = parts[1];
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
@@ -103,7 +99,7 @@ public class PullRequestsFragment extends Fragment {
if(prList.size() == 10 || pageSize == resultLimit) {
int page = (prList.size() + resultLimit) / resultLimit;
loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, tinyDb.getString("repoPrState"), resultLimit);
loadMore(Authorization.get(getContext()), repoOwner, repoName, page, tinyDb.getString("repoPrState"), resultLimit);
}
@@ -115,7 +111,7 @@ public class PullRequestsFragment extends Fragment {
recyclerView.setLayoutManager(new LinearLayoutManager(context));
recyclerView.setAdapter(adapter);
((RepoDetailActivity) Objects.requireNonNull(getActivity())).setFragmentRefreshListenerPr(prState -> {
((RepoDetailActivity) requireActivity()).setFragmentRefreshListenerPr(prState -> {
if(prState.equals("closed")) {
menu.getItem(1).setIcon(R.drawable.ic_filter_closed);
@@ -132,7 +128,7 @@ public class PullRequestsFragment extends Fragment {
if(prList.size() == 10 || pageSize == resultLimit) {
int page = (prList.size() + resultLimit) / resultLimit;
loadMore(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, page, tinyDb.getString("repoPrState"), resultLimit);
loadMore(Authorization.get(getContext()), repoOwner, repoName, page, tinyDb.getString("repoPrState"), resultLimit);
}
@@ -143,14 +139,12 @@ public class PullRequestsFragment extends Fragment {
mProgressBar.setVisibility(View.VISIBLE);
noData.setVisibility(View.GONE);
loadInitial(Authorization.returnAuthentication(context, loginUid, instanceToken), repoOwner, repoName, pageSize, prState, resultLimit);
loadInitial(Authorization.get(context), repoOwner, repoName, pageSize, prState, resultLimit);
recyclerView.setAdapter(adapter);
});
apiPR = AppApiService.createService(ApiInterface.class, instanceUrl, context);
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, pageSize, tinyDb.getString("repoPrState"), resultLimit);
loadInitial(Authorization.get(getContext()), repoOwner, repoName, pageSize, tinyDb.getString("repoPrState"), resultLimit);
return v;
}
@@ -159,17 +153,16 @@ public class PullRequestsFragment extends Fragment {
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String loginUid = tinyDb.getString("loginUid");
TinyDB tinyDb = TinyDB.getInstance(getContext());
String repoFullName = tinyDb.getString("repoFullName");
String[] parts = repoFullName.split("/");
final String repoOwner = parts[0];
final String repoName = parts[1];
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
if(tinyDb.getBoolean("resumePullRequests")) {
loadInitial(Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, pageSize, tinyDb.getString("repoPrState"), resultLimit);
loadInitial(Authorization.get(getContext()), repoOwner, repoName, pageSize, tinyDb.getString("repoPrState"), resultLimit);
tinyDb.putBoolean("resumePullRequests", false);
tinyDb.putBoolean("prMerged", false);
@@ -179,7 +172,7 @@ public class PullRequestsFragment extends Fragment {
private void loadInitial(String token, String repoOwner, String repoName, int page, String prState, int resultLimit) {
Call<List<PullRequests>> call = apiPR.getPullRequests(token, repoOwner, repoName, page, prState, resultLimit);
Call<List<PullRequests>> call = RetrofitClient.getApiInterface(context).getPullRequests(token, repoOwner, repoName, page, prState, resultLimit);
call.enqueue(new Callback<List<PullRequests>>() {
@@ -238,7 +231,7 @@ public class PullRequestsFragment extends Fragment {
progressLoadMore.setVisibility(View.VISIBLE);
Call<List<PullRequests>> call = apiPR.getPullRequests(token, repoOwner, repoName, page, prState, resultLimit);
Call<List<PullRequests>> call = RetrofitClient.getApiInterface(context).getPullRequests(token, repoOwner, repoName, page, prState, resultLimit);
call.enqueue(new Callback<List<PullRequests>>() {
@@ -296,7 +289,7 @@ public class PullRequestsFragment extends Fragment {
inflater.inflate(R.menu.filter_menu_pr, menu);
super.onCreateOptionsMenu(menu, inflater);
TinyDB tinyDb = new TinyDB(context);
TinyDB tinyDb = TinyDB.getInstance(context);
if(tinyDb.getString("repoPrState").equals("closed")) {
menu.getItem(1).setIcon(R.drawable.ic_filter_closed);

View File

@@ -71,10 +71,6 @@ public class ReleasesFragment extends Fragment {
View v = inflater.inflate(R.layout.fragment_releases, container, false);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
noDataReleases = v.findViewById(R.id.noDataReleases);
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
@@ -92,11 +88,11 @@ public class ReleasesFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
ReleasesViewModel.loadReleasesList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, getContext());
ReleasesViewModel.loadReleasesList(Authorization.get(getContext()), repoOwner, repoName, getContext());
}, 50));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName);
fetchDataAsync(Authorization.get(getContext()), repoOwner, repoName);
return v;
@@ -106,13 +102,10 @@ public class ReleasesFragment extends Fragment {
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
TinyDB tinyDb = TinyDB.getInstance(getContext());
if(tinyDb.getBoolean("updateReleases")) {
ReleasesViewModel.loadReleasesList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, getContext());
ReleasesViewModel.loadReleasesList(Authorization.get(getContext()), repoOwner, repoName, getContext());
tinyDb.putBoolean("updateReleases", false);
}
@@ -134,11 +127,11 @@ public class ReleasesFragment extends Fragment {
void onFragmentInteraction(Uri uri);
}
private void fetchDataAsync(String instanceUrl, String instanceToken, String owner, String repo) {
private void fetchDataAsync(String instanceToken, String owner, String repo) {
ReleasesViewModel releasesModel = new ViewModelProvider(this).get(ReleasesViewModel.class);
releasesModel.getReleasesList(instanceUrl, instanceToken, owner, repo, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Releases>>() {
releasesModel.getReleasesList(instanceToken, owner, repo, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Releases>>() {
@Override
public void onChanged(@Nullable List<Releases> releasesListMain) {
adapter = new ReleasesAdapter(getContext(), releasesListMain);

View File

@@ -2,10 +2,8 @@ package org.mian.gitnex.fragments;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.text.Spanned;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -27,28 +25,12 @@ import org.mian.gitnex.clients.RetrofitClient;
import org.mian.gitnex.helpers.AlertDialogs;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.ClickListener;
import org.mian.gitnex.helpers.Markdown;
import org.mian.gitnex.helpers.TimeHelper;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.helpers.Toasty;
import org.mian.gitnex.models.UserRepositories;
import java.util.Collection;
import java.util.Collections;
import java.util.Locale;
import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon;
import io.noties.markwon.core.CorePlugin;
import io.noties.markwon.core.MarkwonTheme;
import io.noties.markwon.ext.strikethrough.StrikethroughPlugin;
import io.noties.markwon.ext.tables.TablePlugin;
import io.noties.markwon.ext.tasklist.TaskListPlugin;
import io.noties.markwon.html.HtmlPlugin;
import io.noties.markwon.image.DefaultMediaDecoder;
import io.noties.markwon.image.ImageItem;
import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.image.SchemeHandler;
import io.noties.markwon.image.gif.GifMediaDecoder;
import io.noties.markwon.image.svg.SvgMediaDecoder;
import io.noties.markwon.linkify.LinkifyPlugin;
import retrofit2.Call;
import retrofit2.Callback;
@@ -113,10 +95,8 @@ public class RepoInfoFragment extends Fragment {
View v = inflater.inflate(R.layout.fragment_repo_info, container, false);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
TinyDB tinyDb = TinyDB.getInstance(getContext());
final String locale = tinyDb.getString("locale");
final String timeFormat = tinyDb.getString("dateFormat");
@@ -150,8 +130,8 @@ public class RepoInfoFragment extends Fragment {
repoMetaFrame.setVisibility(View.GONE);
getRepoInfo(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, locale, timeFormat);
getFileContents(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, getResources().getString(R.string.defaultFilename));
getRepoInfo(Authorization.get(getContext()), repoOwner, repoName, locale, timeFormat);
getFileContents(Authorization.get(getContext()), repoOwner, repoName, getResources().getString(R.string.defaultFilename));
if(isExpandViewVisible()) {
toggleExpandView();
@@ -240,13 +220,12 @@ public class RepoInfoFragment extends Fragment {
return repoMetaFrame.getVisibility() == View.VISIBLE;
}
private void getRepoInfo(String instanceUrl, String token, final String owner, String repo, final String locale, final String timeFormat) {
private void getRepoInfo(String token, final String owner, String repo, final String locale, final String timeFormat) {
final TinyDB tinyDb = new TinyDB(getContext());
final TinyDB tinyDb = TinyDB.getInstance(getContext());
Call<UserRepositories> call = RetrofitClient
.getInstance(instanceUrl, getContext())
.getApiInterface()
.getApiInterface(ctx)
.getUserRepository(token, owner, repo);
call.enqueue(new Callback<UserRepositories>() {
@@ -333,7 +312,7 @@ public class RepoInfoFragment extends Fragment {
alertDialog.setTitle(getResources().getString(R.string.infoMoreInformation));
alertDialog.setView(view);
alertDialog.setNeutralButton(getResources().getString(R.string.close), null);
alertDialog.setPositiveButton(getString(R.string.okButton), null);
alertDialog.create().show();
});
@@ -376,13 +355,10 @@ public class RepoInfoFragment extends Fragment {
}
private void getFileContents(String instanceUrl, String token, final String owner, String repo, final String filename) {
final TinyDB tinyDb = new TinyDB(getContext());
private void getFileContents(String token, final String owner, String repo, final String filename) {
Call<String> call = RetrofitClient
.getInstance(instanceUrl, getContext())
.getApiInterface()
.getApiInterface(getContext())
.getFileContents(token, owner, repo, filename);
call.enqueue(new Callback<String>() {
@@ -394,62 +370,7 @@ public class RepoInfoFragment extends Fragment {
if (response.code() == 200) {
final Markwon markwon = Markwon.builder(requireContext())
.usePlugin(CorePlugin.create())
.usePlugin(ImagesPlugin.create(plugin -> {
plugin.addSchemeHandler(new SchemeHandler() {
@NonNull
@Override
public ImageItem handle(@NonNull String raw, @NonNull Uri uri) {
final int resourceId = requireContext().getResources().getIdentifier(
raw.substring("drawable://".length()),
"drawable",
requireContext().getPackageName());
final Drawable drawable = requireContext().getDrawable(resourceId);
assert drawable != null;
return ImageItem.withResult(drawable);
}
@NonNull
@Override
public Collection<String> supportedSchemes() {
return Collections.singleton("drawable");
}
});
plugin.placeholderProvider(drawable -> null);
plugin.addMediaDecoder(GifMediaDecoder.create(false));
plugin.addMediaDecoder(SvgMediaDecoder.create(requireContext().getResources()));
plugin.addMediaDecoder(SvgMediaDecoder.create());
plugin.defaultMediaDecoder(DefaultMediaDecoder.create(requireContext().getResources()));
plugin.defaultMediaDecoder(DefaultMediaDecoder.create());
}))
.usePlugin(new AbstractMarkwonPlugin() {
@Override
public void configureTheme(@NonNull MarkwonTheme.Builder builder) {
builder
.codeTextColor(tinyDb.getInt("codeBlockColor"))
.codeBackgroundColor(tinyDb.getInt("codeBlockBackground"))
.linkColor(getResources().getColor(R.color.lightBlue));
}
})
.usePlugin(TablePlugin.create(requireContext()))
.usePlugin(TaskListPlugin.create(requireContext()))
.usePlugin(HtmlPlugin.create())
.usePlugin(StrikethroughPlugin.create())
.usePlugin(LinkifyPlugin.create())
.build();
Spanned bodyWithMD = null;
if (response.body() != null) {
bodyWithMD = markwon.toMarkdown(response.body());
}
assert bodyWithMD != null;
markwon.setParsedMarkdown(repoFileContents, bodyWithMD);
new Markdown(ctx, response.body(), repoFileContents);
} else if (response.code() == 401) {

View File

@@ -30,7 +30,6 @@ import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.models.UserRepositories;
import org.mian.gitnex.viewmodels.RepositoriesByOrgViewModel;
import java.util.List;
import java.util.Objects;
/**
* Author M M Arif
@@ -74,11 +73,6 @@ public class RepositoriesByOrgFragment extends Fragment {
View v = inflater.inflate(R.layout.fragment_repositories_by_org, container, false);
setHasOptionsMenu(true);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
noData = v.findViewById(R.id.noData);
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
@@ -96,11 +90,11 @@ public class RepositoriesByOrgFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
RepositoriesByOrgViewModel.loadOrgRepos(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), orgName, getContext(), pageSize, resultLimit);
RepositoriesByOrgViewModel.loadOrgRepos(Authorization.get(getContext()), orgName, getContext(), pageSize, resultLimit);
}, 200));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), orgName, pageSize, resultLimit);
fetchDataAsync(Authorization.get(getContext()), orgName, pageSize, resultLimit);
return v;
}
@@ -109,23 +103,20 @@ public class RepositoriesByOrgFragment extends Fragment {
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
TinyDB tinyDb = TinyDB.getInstance(getContext());
if(tinyDb.getBoolean("repoCreated")) {
RepositoriesByOrgViewModel.loadOrgRepos(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), orgName, getContext(), pageSize, resultLimit);
RepositoriesByOrgViewModel.loadOrgRepos(Authorization.get(getContext()), orgName, getContext(), pageSize, resultLimit);
tinyDb.putBoolean("repoCreated", false);
}
}
private void fetchDataAsync(String instanceUrl, String instanceToken, String owner, int pageSize, int resultLimit) {
private void fetchDataAsync(String instanceToken, String owner, int pageSize, int resultLimit) {
RepositoriesByOrgViewModel orgRepoModel = new ViewModelProvider(this).get(RepositoriesByOrgViewModel.class);
orgRepoModel.getRepositoriesByOrg(instanceUrl, instanceToken, owner, getContext(), pageSize, resultLimit).observe(getViewLifecycleOwner(), new Observer<List<UserRepositories>>() {
orgRepoModel.getRepositoriesByOrg(instanceToken, owner, getContext(), pageSize, resultLimit).observe(getViewLifecycleOwner(), new Observer<List<UserRepositories>>() {
@Override
public void onChanged(@Nullable List<UserRepositories> orgReposListMain) {
adapter = new RepositoriesByOrgAdapter(getContext(), orgReposListMain);
@@ -147,7 +138,7 @@ public class RepositoriesByOrgFragment extends Fragment {
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
boolean connToInternet = AppUtil.hasNetworkConnection(Objects.requireNonNull(getContext()));
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
inflater.inflate(R.menu.search_menu, menu);
super.onCreateOptionsMenu(menu, inflater);

View File

@@ -26,7 +26,6 @@ import org.mian.gitnex.R;
import org.mian.gitnex.activities.CreateRepoActivity;
import org.mian.gitnex.activities.MainActivity;
import org.mian.gitnex.adapters.ReposListAdapter;
import org.mian.gitnex.helpers.AppUtil;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.viewmodels.RepositoriesListViewModel;
@@ -49,16 +48,9 @@ public class RepositoriesFragment extends Fragment {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
final View v = inflater.inflate(R.layout.fragment_repositories, container, false);
setHasOptionsMenu(true);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
((MainActivity) requireActivity()).setActionBarTitle(getResources().getString(R.string.navRepos));
@@ -101,12 +93,11 @@ public class RepositoriesFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
RepositoriesListViewModel.loadReposList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext(), pageSize, resultLimit);
RepositoriesListViewModel.loadReposList(Authorization.get(getContext()), getContext(), pageSize, resultLimit);
}, 50));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), pageSize, resultLimit);
fetchDataAsync(Authorization.get(getContext()), pageSize, resultLimit);
return v;
}
@@ -114,22 +105,21 @@ public class RepositoriesFragment extends Fragment {
@Override
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
TinyDB tinyDb = TinyDB.getInstance(getContext());
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
if(tinyDb.getBoolean("repoCreated")) {
RepositoriesListViewModel.loadReposList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext(), pageSize, resultLimit);
RepositoriesListViewModel.loadReposList(Authorization.get(getContext()), getContext(), pageSize, resultLimit);
tinyDb.putBoolean("repoCreated", false);
}
}
private void fetchDataAsync(String instanceUrl, String instanceToken, int pageSize, int resultLimit) {
private void fetchDataAsync(String instanceToken, int pageSize, int resultLimit) {
RepositoriesListViewModel repoModel = new ViewModelProvider(this).get(RepositoriesListViewModel.class);
repoModel.getUserRepositories(instanceUrl, instanceToken, getContext(), pageSize, resultLimit).observe(getViewLifecycleOwner(),
repoModel.getUserRepositories(instanceToken, getContext(), pageSize, resultLimit).observe(getViewLifecycleOwner(),
reposListMain -> {
adapter = new ReposListAdapter(getContext(), reposListMain);
@@ -150,8 +140,6 @@ public class RepositoriesFragment extends Fragment {
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
inflater.inflate(R.menu.search_menu, menu);
super.onCreateOptionsMenu(menu, inflater);

View File

@@ -38,10 +38,6 @@ public class SearchIssuesFragment extends Fragment {
private SearchIssuesAdapter adapter;
private List<Issues> dataList;
private String instanceUrl;
private String loginUid;
private String instanceToken;
private int apiCallCurrentValue = 10;
private int pageCurrentIndex = 1;
private String type = "issues";
@@ -54,11 +50,7 @@ public class SearchIssuesFragment extends Fragment {
setHasOptionsMenu(true);
ctx = getContext();
tinyDb = new TinyDB(getContext());
instanceUrl = tinyDb.getString("instanceUrl");
loginUid = tinyDb.getString("loginUid");
instanceToken = "token " + tinyDb.getString(loginUid + "-token");
tinyDb = TinyDB.getInstance(getContext());
dataList = new ArrayList<>();
adapter = new SearchIssuesAdapter(dataList, ctx);
@@ -133,8 +125,8 @@ public class SearchIssuesFragment extends Fragment {
viewBinding.loadingMoreView.setVisibility(View.VISIBLE);
}
Call<List<Issues>> call = RetrofitClient.getInstance(instanceUrl, getContext()).getApiInterface().queryIssues(
Authorization.returnAuthentication(getContext(), loginUid, instanceToken), searchKeyword, type, state, pageCurrentIndex);
Call<List<Issues>> call = RetrofitClient.getApiInterface(getContext())
.queryIssues(Authorization.get(getContext()), searchKeyword, type, state, pageCurrentIndex);
call.enqueue(new Callback<List<Issues>>() {

View File

@@ -83,7 +83,7 @@ public class SettingsFragment extends Fragment {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
TinyDB tinyDb = TinyDB.getInstance(getContext());
if(tinyDb.getBoolean("refreshParent")) {
requireActivity().recreate();

View File

@@ -26,7 +26,6 @@ import org.mian.gitnex.R;
import org.mian.gitnex.activities.CreateRepoActivity;
import org.mian.gitnex.activities.MainActivity;
import org.mian.gitnex.adapters.StarredReposListAdapter;
import org.mian.gitnex.helpers.AppUtil;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.viewmodels.StarredRepositoriesViewModel;
@@ -75,14 +74,8 @@ public class StarredRepositoriesFragment extends Fragment {
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_starred_repositories, container, false);
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
setHasOptionsMenu(true);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
((MainActivity) requireActivity()).setActionBarTitle(getResources().getString(R.string.navStarredRepos));
@@ -129,11 +122,11 @@ public class StarredRepositoriesFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
StarredRepositoriesViewModel.loadStarredReposList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext(), pageSize, resultLimit);
StarredRepositoriesViewModel.loadStarredReposList(Authorization.get(getContext()), getContext(), pageSize, resultLimit);
}, 50));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), pageSize, resultLimit);
fetchDataAsync(Authorization.get(getContext()), pageSize, resultLimit);
return v;
}
@@ -141,23 +134,21 @@ public class StarredRepositoriesFragment extends Fragment {
@Override
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
TinyDB tinyDb = TinyDB.getInstance(getContext());
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
if(tinyDb.getBoolean("repoCreated")) {
StarredRepositoriesViewModel.loadStarredReposList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), getContext(), pageSize, resultLimit);
StarredRepositoriesViewModel.loadStarredReposList(Authorization.get(getContext()), getContext(), pageSize, resultLimit);
tinyDb.putBoolean("repoCreated", false);
}
}
private void fetchDataAsync(String instanceUrl, String instanceToken, int pageSize, int resultLimit) {
private void fetchDataAsync(String instanceToken, int pageSize, int resultLimit) {
StarredRepositoriesViewModel starredRepoModel = new ViewModelProvider(this).get(StarredRepositoriesViewModel.class);
starredRepoModel.getUserStarredRepositories(instanceUrl, instanceToken, getContext(), pageSize, resultLimit).observe(getViewLifecycleOwner(),
starredRepoModel.getUserStarredRepositories(instanceToken, getContext(), pageSize, resultLimit).observe(getViewLifecycleOwner(),
starredReposListMain -> {
adapter = new StarredReposListAdapter(getContext(), starredReposListMain);
@@ -178,8 +169,6 @@ public class StarredRepositoriesFragment extends Fragment {
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
boolean connToInternet = AppUtil.hasNetworkConnection(requireContext());
inflater.inflate(R.menu.search_menu, menu);
super.onCreateOptionsMenu(menu, inflater);

View File

@@ -24,13 +24,11 @@ import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import org.mian.gitnex.R;
import org.mian.gitnex.adapters.TeamsByOrgAdapter;
import org.mian.gitnex.helpers.AppUtil;
import org.mian.gitnex.helpers.Authorization;
import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.models.Teams;
import org.mian.gitnex.viewmodels.TeamsByOrgViewModel;
import java.util.List;
import java.util.Objects;
/**
* Author M M Arif
@@ -73,10 +71,6 @@ public class TeamsByOrgFragment extends Fragment {
View v = inflater.inflate(R.layout.fragment_teams_by_org, container, false);
setHasOptionsMenu(true);
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
noDataTeams = v.findViewById(R.id.noDataTeams);
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
@@ -94,11 +88,11 @@ public class TeamsByOrgFragment extends Fragment {
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
swipeRefresh.setRefreshing(false);
TeamsByOrgViewModel.loadTeamsByOrgList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), orgName, getContext());
TeamsByOrgViewModel.loadTeamsByOrgList(Authorization.get(getContext()), orgName, getContext());
}, 200));
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), orgName);
fetchDataAsync(Authorization.get(getContext()), orgName);
return v;
}
@@ -106,22 +100,19 @@ public class TeamsByOrgFragment extends Fragment {
@Override
public void onResume() {
super.onResume();
TinyDB tinyDb = new TinyDB(getContext());
final String instanceUrl = tinyDb.getString("instanceUrl");
final String loginUid = tinyDb.getString("loginUid");
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
TinyDB tinyDb = TinyDB.getInstance(getContext());
if(tinyDb.getBoolean("resumeTeams")) {
TeamsByOrgViewModel.loadTeamsByOrgList(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), orgName, getContext());
TeamsByOrgViewModel.loadTeamsByOrgList(Authorization.get(getContext()), orgName, getContext());
tinyDb.putBoolean("resumeTeams", false);
}
}
private void fetchDataAsync(String instanceUrl, String instanceToken, String owner) {
private void fetchDataAsync(String instanceToken, String owner) {
TeamsByOrgViewModel teamModel = new ViewModelProvider(this).get(TeamsByOrgViewModel.class);
teamModel.getTeamsByOrg(instanceUrl, instanceToken, owner, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Teams>>() {
teamModel.getTeamsByOrg(instanceToken, owner, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Teams>>() {
@Override
public void onChanged(@Nullable List<Teams> orgTeamsListMain) {
adapter = new TeamsByOrgAdapter(getContext(), orgTeamsListMain);
@@ -143,8 +134,6 @@ public class TeamsByOrgFragment extends Fragment {
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
boolean connToInternet = AppUtil.hasNetworkConnection(Objects.requireNonNull(getContext()));
inflater.inflate(R.menu.search_menu, menu);
super.onCreateOptionsMenu(menu, inflater);