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

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

View File

@ -57,7 +57,9 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetRepoF
private TextView textViewBadgeRelease;
private FragmentRefreshListener fragmentRefreshListener;
private FragmentRefreshListenerPr fragmentRefreshListenerPr;
// issues interface
public FragmentRefreshListener getFragmentRefreshListener() {
return fragmentRefreshListener;
}
@ -70,6 +72,19 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetRepoF
void onRefresh(String text);
}
// pr interface
public FragmentRefreshListenerPr getFragmentRefreshListenerPr() {
return fragmentRefreshListenerPr;
}
public void setFragmentRefreshListenerPr(FragmentRefreshListenerPr fragmentRefreshListenerPr) {
this.fragmentRefreshListenerPr = fragmentRefreshListenerPr;
}
public interface FragmentRefreshListenerPr {
void onRefresh(String text);
}
@Override
protected int getLayoutResourceId(){
return R.layout.activity_repo_detail;
@ -253,6 +268,10 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetRepoF
BottomSheetIssuesFilterFragment filterBottomSheet = new BottomSheetIssuesFilterFragment();
filterBottomSheet.show(getSupportFragmentManager(), "repoFilterMenuBottomSheet");
return true;
case R.id.filterPr:
BottomSheetPullRequestFilterFragment filterPrBottomSheet = new BottomSheetPullRequestFilterFragment();
filterPrBottomSheet.show(getSupportFragmentManager(), "repoFilterMenuPrBottomSheet");
return true;
default:
return super.onOptionsItemSelected(item);
}
@ -311,15 +330,13 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetRepoF
}
break;
case "openPr":
//noinspection DuplicateBranchesInSwitch
if(getFragmentRefreshListener()!= null){
getFragmentRefreshListener().onRefresh("open");
if(getFragmentRefreshListenerPr()!= null){
getFragmentRefreshListenerPr().onRefresh("open");
}
break;
case "closedPr":
//noinspection DuplicateBranchesInSwitch
if(getFragmentRefreshListener()!= null){
getFragmentRefreshListener().onRefresh("closed");
if(getFragmentRefreshListenerPr()!= null){
getFragmentRefreshListenerPr().onRefresh("closed");
}
break;
}

View File

@ -10,7 +10,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import org.mian.gitnex.R;
import org.mian.gitnex.util.TinyDB;
/**
* Author M M Arif
@ -26,8 +25,6 @@ public class BottomSheetPullRequestFilterFragment extends BottomSheetDialogFragm
View v = inflater.inflate(R.layout.bottom_sheet_pull_request_filter, container, false);
TinyDB tinyDb = new TinyDB(v.getContext());
TextView openPr = v.findViewById(R.id.openPr);
TextView closedPr = v.findViewById(R.id.closedPr);

View File

@ -105,7 +105,7 @@ public class PullRequestsFragment extends Fragment {
recyclerView.setLayoutManager(new LinearLayoutManager(context));
recyclerView.setAdapter(adapter);
((RepoDetailActivity) Objects.requireNonNull(getActivity())).setFragmentRefreshListener(prState -> {
((RepoDetailActivity) Objects.requireNonNull(getActivity())).setFragmentRefreshListenerPr(prState -> {
adapter = new PullRequestsAdapter(getContext(), prList);
tinyDb.putString("repoPrState", prState);
@ -247,7 +247,7 @@ public class PullRequestsFragment extends Fragment {
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
inflater.inflate(R.menu.search_menu, menu);
inflater.inflate(R.menu.filter_menu, menu);
inflater.inflate(R.menu.filter_menu_pr, menu);
super.onCreateOptionsMenu(menu, inflater);
MenuItem searchItem = menu.findItem(R.id.action_search);

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/filterPr"
android:icon="@drawable/ic_filter"
android:title="@string/strFilter"
android:orderInCategory="0"
app:showAsAction="ifRoom" />
</menu>