package com.kuanzhai.driver.base;
|
|
import android.content.Intent;
|
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 androidx.fragment.app.Fragment;
|
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentTransaction;
|
|
|
import com.kuanzhai.driver.R;
|
import com.kuanzhai.driver.ui.DialogUtil;
|
import com.kuanzhai.driver.utils.EasePopup.EasyPopup;
|
import com.google.gson.Gson;
|
|
import org.greenrobot.eventbus.EventBus;
|
import org.greenrobot.eventbus.Subscribe;
|
import org.greenrobot.eventbus.ThreadMode;
|
|
import java.util.List;
|
|
import cn.sinata.xldutils.fragment.BaseFragment;
|
import pub.devrel.easypermissions.EasyPermissions;
|
|
|
/**
|
* MyBaseFragment
|
*
|
* @author Administrator
|
* @date 2018/5/16
|
*/
|
public abstract class MyBaseFragment extends BaseFragment implements EasyPermissions.PermissionCallbacks {
|
protected final int PAGE_SIZE = 10;//每页条数
|
protected int pageNumber = 1;//当前第几页
|
public FragmentActivity mContext;
|
public EasyPopup easyPopup;
|
public Gson gson = new Gson();
|
|
@Override
|
protected int getContentViewLayoutID() {
|
return 0;
|
}
|
|
@Override
|
protected void onFirstVisibleToUser() {
|
|
}
|
|
@Override
|
protected void onVisibleToUser() {
|
|
}
|
|
@Override
|
protected void onInvisibleToUser() {
|
|
}
|
|
/***
|
* 添加一个fragment 到栈
|
* @param fragment 目标类
|
* @param container 容器id
|
*/
|
public void addFragment(Fragment fragment, int container) {
|
FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();
|
if (!fragment.isAdded()) {
|
fragmentTransaction.add(container, fragment);
|
}
|
for (Fragment currentFragment : getChildFragmentManager().getFragments()) {
|
if (currentFragment.isAdded() && currentFragment != fragment) {
|
fragmentTransaction.hide(currentFragment);
|
}
|
}
|
fragmentTransaction.show(fragment);
|
fragmentTransaction.commitAllowingStateLoss();
|
getChildFragmentManager().executePendingTransactions();
|
}
|
|
@Nullable
|
@Override
|
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
// View view = inflater.inflate(layoutId(),container,false);
|
View view = LayoutInflater.from(getActivity()).inflate(layoutId(),container,false);
|
mContext = getActivity();
|
EventBus.getDefault().register(this);
|
return view;
|
}
|
|
@Override
|
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
super.onViewCreated(view, savedInstanceState);
|
initView();
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
}
|
|
public abstract int layoutId();
|
|
public abstract void initView();
|
|
|
public void startActivity(Class tClass){
|
startActivity(new Intent(mContext,tClass));
|
}
|
|
@Override
|
public void showDialog() {
|
// super.showDialog();
|
if (easyPopup == null){
|
easyPopup = DialogUtil.INSTANCE.getPopupwindow(getActivity(), R.layout.progress_dialog_main);
|
}
|
if (easyPopup.isShowing()){
|
return;
|
}
|
FragmentActivity activity = getActivity();
|
if (activity != null && activity.getWindow() != null) {
|
try {
|
getActivity().getWindow().getDecorView().post(() -> easyPopup.showCenter(getActivity().getWindow().getDecorView()));
|
}catch (Exception e){
|
|
}
|
}
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
if (easyPopup != null && easyPopup.isShowing()){
|
easyPopup.dismiss();
|
}
|
}
|
|
@Override
|
public void dismissDialog() {
|
// super.dismissDialog();?
|
if (easyPopup == null){
|
easyPopup = DialogUtil.INSTANCE.getPopupwindow(getActivity(),R.layout.progress_dialog_main);
|
}
|
easyPopup.dismiss();
|
}
|
|
@Override
|
public void onDestroyView() {
|
super.onDestroyView();
|
EventBus.getDefault().unregister(this);
|
}
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
public void onEventMainThread(BaseEvent event) {
|
|
}
|
|
//成功打开权限
|
@Override
|
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
|
|
}
|
|
//用户未同意权限
|
@Override
|
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
|
|
}
|
|
|
@Override
|
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
|
}
|
|
// 获取权限
|
public boolean checkPermissions(String... per) {
|
if (EasyPermissions.hasPermissions(requireContext(), per)) {
|
//已经打开权限
|
return true;
|
} else {
|
return false;
|
}
|
}
|
}
|