GitNex-Android-App/app/src/main/java/org/mian/gitnex/fragments/PullRequestChangesFragment....

77 lines
2.1 KiB
Java

package org.mian.gitnex.fragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import com.google.android.material.tabs.TabLayoutMediator;
import org.mian.gitnex.R;
import org.mian.gitnex.databinding.FragmentPrChangesBinding;
import org.mian.gitnex.helpers.AppDatabaseSettings;
import org.mian.gitnex.helpers.ViewPager2Transformers;
/**
* @author qwerty287
*/
public class PullRequestChangesFragment extends Fragment {
private final DiffFilesFragment diffFilesFragment = DiffFilesFragment.newInstance();
private final PullRequestCommitsFragment pullRequestCommitsFragment =
PullRequestCommitsFragment.newInstance();
public PullRequestChangesFragment() {}
public static PullRequestChangesFragment newInstance() {
return new PullRequestChangesFragment();
}
@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
FragmentPrChangesBinding binding =
FragmentPrChangesBinding.inflate(inflater, container, false);
binding.close.setOnClickListener(v -> requireActivity().finish());
binding.container.setAdapter(
new FragmentStateAdapter(requireActivity()) {
@NonNull @Override
public Fragment createFragment(int position) {
if (position == 0) {
return diffFilesFragment;
} else {
return pullRequestCommitsFragment;
}
}
@Override
public int getItemCount() {
return 2;
}
});
String[] tabs =
new String[] {getString(R.string.tabTextFiles), getString(R.string.commits)};
ViewPager2Transformers.returnSelectedTransformer(
binding.container,
Integer.parseInt(
AppDatabaseSettings.getSettingsValue(
getContext(), AppDatabaseSettings.APP_TABS_ANIMATION_KEY)));
new TabLayoutMediator(
binding.tabs,
binding.container,
(tab, position) -> tab.setText(tabs[position]))
.attach();
return binding.getRoot();
}
}