Add FAB for creating issue, remove repo menu from Files tab

This commit is contained in:
M M Arif
2023-03-13 19:46:54 +05:00
parent 984bfe1bd8
commit 05abdfa581
4 changed files with 60 additions and 35 deletions

View File

@@ -70,6 +70,9 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
binding = FragmentFilesBinding.inflate(inflater, container, false);
setHasOptionsMenu(true);
boolean canPush = repository.getPermissions().isPush();
boolean archived = repository.getRepository().isArchived();
filesAdapter = new FilesAdapter(getContext(), this);
binding.recyclerView.setHasFixedSize(true);
@@ -162,6 +165,10 @@ public class FilesFragment extends Fragment implements FilesAdapter.FilesAdapter
}
refresh();
if (!canPush || archived) {
binding.newFile.setVisibility(View.GONE);
}
binding.newFile.setOnClickListener(
v17 -> startActivity(repository.getIntent(getContext(), CreateFileActivity.class)));

View File

@@ -19,6 +19,7 @@ import java.util.ArrayList;
import java.util.List;
import org.gitnex.tea4j.v2.models.Issue;
import org.mian.gitnex.R;
import org.mian.gitnex.activities.CreateIssueActivity;
import org.mian.gitnex.activities.RepoDetailActivity;
import org.mian.gitnex.adapters.IssuesAdapter;
import org.mian.gitnex.clients.RetrofitClient;
@@ -65,6 +66,8 @@ public class IssuesFragment extends Fragment {
repository = RepositoryContext.fromBundle(requireArguments());
boolean archived = repository.getRepository().isArchived();
resultLimit = Constants.getCurrentResultLimit(context);
issuesList = new ArrayList<>();
@@ -214,6 +217,25 @@ public class IssuesFragment extends Fragment {
repository.getIssueMilestoneFilterName(),
null);
if (archived) {
fragmentIssuesBinding.createNewIssue.setVisibility(View.GONE);
}
if (repository.getRepository().isHasIssues() && !archived) {
fragmentIssuesBinding.createNewIssue.setVisibility(View.VISIBLE);
fragmentIssuesBinding.createNewIssue.setOnClickListener(
v12 -> {
((RepoDetailActivity) requireActivity())
.createIssueLauncher.launch(
repository.getIntent(
getContext(), CreateIssueActivity.class));
});
} else {
fragmentIssuesBinding.createNewIssue.setVisibility(View.GONE);
}
return fragmentIssuesBinding.getRoot();
}

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -20,7 +21,9 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="@dimen/dimen72dp" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
@@ -32,7 +35,7 @@
android:layout_height="wrap_content"
android:indeterminate="true"
style="@style/Widget.MaterialComponents.LinearProgressIndicator"
app:indicatorColor="?attr/progressIndicatorColor"/>
app:indicatorColor="?attr/progressIndicatorColor" />
<TextView
android:id="@+id/noDataIssues"
@@ -43,6 +46,19 @@
android:textColor="?attr/primaryTextColor"
android:gravity="center"
android:textSize="18sp"
android:visibility="gone"/>
android:visibility="gone" />
</RelativeLayout>
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id="@+id/createNewIssue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/dimen16dp"
android:text="@string/pageTitleCreateNewIssue"
android:contentDescription="@string/pageTitleCreateNewIssue"
android:textColor="?attr/primaryBackgroundColor"
android:backgroundTint="?attr/fabColor"
app:iconTint="?attr/primaryBackgroundColor"
app:icon="@drawable/ic_add" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -3,37 +3,17 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/mainRepoMenu"
android:icon="@drawable/ic_dotted_menu"
android:id="@+id/switchBranches"
android:icon="@drawable/ic_branch"
android:orderInCategory="1"
android:title="@string/menuTitleText"
app:showAsAction="always">
android:title="@string/strSwitchBranches"
app:showAsAction="ifRoom|withText" />
<menu>
<item
android:id="@+id/repoMenu"
android:icon="@drawable/ic_dotted_menu"
android:orderInCategory="0"
android:title="@string/menuTitleText"
app:showAsAction="ifRoom|withText"/>
<item
android:id="@+id/switchBranches"
android:icon="@drawable/ic_branch"
android:orderInCategory="1"
android:title="@string/strSwitchBranches"
app:showAsAction="ifRoom|withText"/>
<item
android:id="@+id/branchCommits"
android:icon="@drawable/ic_commit"
android:orderInCategory="2"
android:title="@string/commitTitle"
app:showAsAction="ifRoom|withText"/>
</menu>
</item>
<item
android:id="@+id/branchCommits"
android:icon="@drawable/ic_commit"
android:orderInCategory="2"
android:title="@string/commitTitle"
app:showAsAction="ifRoom|withText" />
</menu>