mirror of
https://codeberg.org/gitnex/GitNex.git
synced 2023-12-13 20:50:18 +01:00
Closes #693 Right now I like how the API(filters) is for issues, for PRs it is only accepting Ids. It should be more like issues which has optional titles and more forgiving. Maybe in the future will implement for PRs when the API become updated. Issues: https://codeberg.org/api/swagger#/issue/issueListIssues PR: https://codeberg.org/api/swagger#/repository/repoListPullRequests Co-authored-by: M M Arif <mmarif@swatian.com> Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/980 Reviewed-by: qwerty287 <qwerty287@noreply.codeberg.org> Co-authored-by: M M Arif <mmarif@noreply.codeberg.org> Co-committed-by: M M Arif <mmarif@noreply.codeberg.org>
71 lines
2 KiB
Java
71 lines
2 KiB
Java
package org.mian.gitnex.fragments;
|
|
|
|
import android.content.Context;
|
|
import android.os.Bundle;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
|
import org.mian.gitnex.databinding.BottomSheetIssuesFilterBinding;
|
|
import org.mian.gitnex.helpers.TinyDB;
|
|
import org.mian.gitnex.helpers.Version;
|
|
|
|
/**
|
|
* Author M M Arif
|
|
*/
|
|
|
|
public class BottomSheetIssuesFilterFragment extends BottomSheetDialogFragment {
|
|
|
|
private BottomSheetIssuesFilterFragment.BottomSheetListener bmListener;
|
|
|
|
@Nullable
|
|
@Override
|
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
|
|
|
BottomSheetIssuesFilterBinding bottomSheetIssuesFilterBinding = BottomSheetIssuesFilterBinding.inflate(inflater, container, false);
|
|
TinyDB tinyDb = TinyDB.getInstance(getContext());
|
|
|
|
if(new Version(tinyDb.getString("giteaVersion")).higherOrEqual("1.14.0")) {
|
|
bottomSheetIssuesFilterBinding.filterByMilestone.setVisibility(View.VISIBLE);
|
|
bottomSheetIssuesFilterBinding.filterByMilestone.setOnClickListener(v1 -> {
|
|
bmListener.onButtonClicked("filterByMilestone");
|
|
dismiss();
|
|
});
|
|
}
|
|
|
|
bottomSheetIssuesFilterBinding.openIssues.setOnClickListener(v1 -> {
|
|
bmListener.onButtonClicked("openIssues");
|
|
dismiss();
|
|
});
|
|
|
|
bottomSheetIssuesFilterBinding.closedIssues.setOnClickListener(v12 -> {
|
|
bmListener.onButtonClicked("closedIssues");
|
|
dismiss();
|
|
});
|
|
|
|
return bottomSheetIssuesFilterBinding.getRoot();
|
|
}
|
|
|
|
public interface BottomSheetListener {
|
|
|
|
void onButtonClicked(String text);
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onAttach(@NonNull Context context) {
|
|
|
|
super.onAttach(context);
|
|
|
|
try {
|
|
bmListener = (BottomSheetIssuesFilterFragment.BottomSheetListener) context;
|
|
}
|
|
catch(ClassCastException e) {
|
|
throw new ClassCastException(context.toString() + " must implement BottomSheetListener");
|
|
}
|
|
}
|
|
|
|
}
|