diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a3415c93..d029de5d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,6 +73,7 @@ + \ No newline at end of file diff --git a/app/src/main/java/org/mian/gitnex/fragments/CommitsFragment.java b/app/src/main/java/org/mian/gitnex/activities/CommitsActivity.java similarity index 62% rename from app/src/main/java/org/mian/gitnex/fragments/CommitsFragment.java rename to app/src/main/java/org/mian/gitnex/activities/CommitsActivity.java index 2b48e2ee..60df3de6 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/CommitsFragment.java +++ b/app/src/main/java/org/mian/gitnex/activities/CommitsActivity.java @@ -1,20 +1,20 @@ -package org.mian.gitnex.fragments; +package org.mian.gitnex.activities; import android.os.Bundle; import android.os.Handler; +import android.text.method.ScrollingMovementMethod; import android.util.Log; -import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; -import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; +import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; +import androidx.appcompat.widget.Toolbar; import androidx.recyclerview.widget.DefaultItemAnimator; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -32,6 +32,7 @@ import org.mian.gitnex.models.Commits; import org.mian.gitnex.util.TinyDB; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -41,12 +42,13 @@ import static com.mikepenz.fastadapter.adapters.ItemAdapter.items; * Author M M Arif */ -public class CommitsFragment extends Fragment implements ItemFilterListener { +public class CommitsActivity extends BaseActivity implements ItemFilterListener { + private View.OnClickListener onClickListener; private TextView noData; private ProgressBar progressBar; private SwipeRefreshLayout swipeRefreshLayout; - private String TAG = "CommitsFragment - "; + private String TAG = "CommitsActivity - "; private int resultLimit = 50; private boolean loadNextFlag = false; @@ -55,14 +57,19 @@ public class CommitsFragment extends Fragment implements ItemFilterListener(); fastItemAdapter.withSelectable(true); @@ -86,20 +103,11 @@ public class CommitsFragment extends Fragment implements ItemFilterListener() { - - @Override - public boolean filter(@NonNull CommitsItems item, CharSequence constraint) { - - return item.getCommitTitle().toString().toLowerCase().contains(constraint.toString().toLowerCase()); - - } - - }); + fastItemAdapter.getItemFilter().withFilterPredicate((IItemAdapter.Predicate) (item, constraint) -> item.getCommitTitle().toLowerCase().contains(Objects.requireNonNull(constraint).toString().toLowerCase())); fastItemAdapter.getItemFilter().withItemFilterListener(this); - recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext())); recyclerView.setItemAnimator(new DefaultItemAnimator()); recyclerView.setAdapter(fastItemAdapter); @@ -108,7 +116,7 @@ public class CommitsFragment extends Fragment implements ItemFilterListener> call = RetrofitClient - .getInstance(instanceUrl, getContext()) + .getInstance(instanceUrl, getApplicationContext()) .getApiInterface() - .getRepositoryCommits(token, repoOwner, repoName, 1); + .getRepositoryCommits(token, repoOwner, repoName, 1, branchName); call.enqueue(new Callback>() { @@ -158,7 +164,7 @@ public class CommitsFragment extends Fragment implements ItemFilterListener { - @Override - public void run() { + Call> call = RetrofitClient + .getInstance(instanceUrl, getApplicationContext()) + .getApiInterface() + .getRepositoryCommits(token, repoOwner, repoName, currentPage + 1, branchName); - Call> call = RetrofitClient - .getInstance(instanceUrl, getContext()) - .getApiInterface() - .getRepositoryCommits(token, repoOwner, repoName, currentPage + 1); + call.enqueue(new Callback>() { - call.enqueue(new Callback>() { + @Override + public void onResponse(@NonNull Call> call, @NonNull Response> response) { - @Override - public void onResponse(@NonNull Call> call, @NonNull Response> 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 CommitsItems(getContext()).withNewItems(response.body().get(i).getCommit().getMessage(), - response.body().get(i).getHtml_url(), response.body().get(i).getCommit().getCommitter().getName(), - response.body().get(i).getCommit().getCommitter().getDate())); - - } - - footerAdapter.clear(); + fastItemAdapter.add(fastItemAdapter.getAdapterItemCount(), new CommitsItems(getApplicationContext()).withNewItems(response.body().get(i).getCommit().getMessage(), + response.body().get(i).getHtml_url(), response.body().get(i).getCommit().getCommitter().getName(), + response.body().get(i).getCommit().getCommitter().getDate())); } - else { - footerAdapter.clear(); - } - - progressBar.setVisibility(View.GONE); + footerAdapter.clear(); } else { - Log.e(TAG, String.valueOf(response.code())); - + footerAdapter.clear(); } + progressBar.setVisibility(View.GONE); + } + else { - @Override - public void onFailure(@NonNull Call> call, @NonNull Throwable t) { - - Log.e(TAG, t.toString()); + Log.e(TAG, String.valueOf(response.code())); } - }); + } - } + @Override + public void onFailure(@NonNull Call> call, @NonNull Throwable t) { + + Log.e(TAG, t.toString()); + + } + + }); }, 1000); @@ -273,10 +274,10 @@ public class CommitsFragment extends Fragment implements ItemFilterListener { + getIntent().removeExtra("branchName"); + finish(); + }; + } + } + + diff --git a/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java b/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java index 7e6652b6..ae249f77 100644 --- a/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java @@ -27,7 +27,6 @@ import org.mian.gitnex.R; import org.mian.gitnex.clients.RetrofitClient; import org.mian.gitnex.fragments.BottomSheetRepoFragment; import org.mian.gitnex.fragments.BranchesFragment; -import org.mian.gitnex.fragments.CommitsFragment; import org.mian.gitnex.fragments.IssuesClosedFragment; import org.mian.gitnex.fragments.CollaboratorsFragment; import org.mian.gitnex.fragments.FilesFragment; diff --git a/app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java index 472566d3..70a5ac39 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java @@ -1,16 +1,17 @@ package org.mian.gitnex.adapters; import android.content.Context; -import android.text.Html; -import android.text.method.LinkMovementMethod; +import android.content.Intent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import org.mian.gitnex.R; +import org.mian.gitnex.activities.CommitsActivity; import org.mian.gitnex.models.Branches; import org.mian.gitnex.util.TinyDB; import java.util.List; +import java.util.Objects; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; @@ -27,14 +28,23 @@ public class BranchesAdapter extends RecyclerView.Adapter" + mCtx.getResources().getString(R.string.commitLinkBranchesTab) + " ")); - holder.branchCommitHash.setMovementMethod(LinkMovementMethod.getInstance()); - } @Override diff --git a/app/src/main/java/org/mian/gitnex/interfaces/ApiInterface.java b/app/src/main/java/org/mian/gitnex/interfaces/ApiInterface.java index 06752497..75cc3cdf 100644 --- a/app/src/main/java/org/mian/gitnex/interfaces/ApiInterface.java +++ b/app/src/main/java/org/mian/gitnex/interfaces/ApiInterface.java @@ -262,5 +262,5 @@ public interface ApiInterface { Call mergePullRequest(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("repo") String repoName, @Path("index") int index, @Body MergePullRequest jsonStr); @GET("repos/{owner}/{repo}/commits") // get all commits - Call> getRepositoryCommits(@Header("Authorization") String token, @Path("owner") String owner, @Path("repo") String repo, @Query("page") int page); + Call> getRepositoryCommits(@Header("Authorization") String token, @Path("owner") String owner, @Path("repo") String repo, @Query("page") int page, @Query("sha") String branchName); } diff --git a/app/src/main/res/layout/activity_add_collaborator_to_repository.xml b/app/src/main/res/layout/activity_add_collaborator_to_repository.xml index c0112fc8..d55cc514 100644 --- a/app/src/main/res/layout/activity_add_collaborator_to_repository.xml +++ b/app/src/main/res/layout/activity_add_collaborator_to_repository.xml @@ -6,8 +6,10 @@ android:background="?attr/primaryBackgroundColor"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_create_issue.xml b/app/src/main/res/layout/activity_create_issue.xml index edcc5a29..b9bb3f5e 100644 --- a/app/src/main/res/layout/activity_create_issue.xml +++ b/app/src/main/res/layout/activity_create_issue.xml @@ -7,8 +7,10 @@ android:background="?attr/primaryBackgroundColor"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> + android:layout_height="wrap_content" + android:theme="@style/Widget.AppCompat.SearchView"> - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/list_branches.xml b/app/src/main/res/layout/list_branches.xml index 885565d3..27a9c518 100644 --- a/app/src/main/res/layout/list_branches.xml +++ b/app/src/main/res/layout/list_branches.xml @@ -29,16 +29,16 @@ android:layout_height="wrap_content" android:textIsSelectable="true" android:textColor="?attr/primaryTextColor" - android:textSize="16sp" /> + android:textSize="14sp" /> + android:textColor="@color/lightBlue" + android:text="@string/viewCommits" + android:textSize="14sp" /> diff --git a/app/src/main/res/layout/list_commits.xml b/app/src/main/res/layout/list_commits.xml index 776865f7..21856768 100644 --- a/app/src/main/res/layout/list_commits.xml +++ b/app/src/main/res/layout/list_commits.xml @@ -70,4 +70,12 @@ + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b8d6c0a1..2e1d38b7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -562,6 +562,7 @@ Share Repository Create Repository Commits - Commit Title + Branch Commits Committed by %1$s + View Commits diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 8a26b19c..7b25c1ad 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -6,6 +6,7 @@ @color/colorPrimary monospace @color/colorAccent + @color/colorWhite @color/colorWhite @color/colorPrimary @@ -28,6 +29,7 @@ @color/colorPrimary monospace @color/colorAccent + @color/lightThemeTextColor @color/lightThemeTextColor @color/lightThemeBackground