package eVVM.apk.ui.vaccination; import android.widget.ImageView; import com.hjq.permissions.OnPermission; import com.hjq.permissions.Permission; import com.hjq.permissions.XXPermissions; import java.util.List; import butterknife.BindView; import butterknife.OnClick; import eVVM.apk.R; import eVVM.apk.helper.SPUtils; import eVVM.apk.mvp.MvpLazyFragment; import eVVM.apk.ui.bean.CategoryTimesBean; import eVVM.apk.ui.vaccination.categoryTimes.CategoryTimesContract; import eVVM.apk.ui.vaccination.categoryTimes.CategoryTimesPresenter; public class FirstFragment extends MvpLazyFragment implements CategoryTimesContract.View { @BindView(R.id.first_iv_scanning) ImageView firstIvScanning; public static FirstFragment newInstance() { return new FirstFragment(); } @Override protected int getLayoutId() { return R.layout.first_fragment; } @Override protected int getTitleId() { return 0; } @Override protected void initView() { } @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { //相当于Fragment的onResume,为true时,Fragment已经可见 SPUtils.remove("INOCULATOR_LIST"); } else { //相当于Fragment的onPause,为false时,Fragment不可见 } } @Override protected void initData() { getPresenter().categoryTimesList(); } @Override public void categoryTimesListError(String msg) { } @Override public void categoryTimesListSuccess(List data) { for(CategoryTimesBean.DataBean bean : data){ SPUtils.put( "categorytimes_" + bean.getCode2(), bean.getOvertimes()); } } @Override public boolean isStatusBarEnabled() { // 使用沉浸式状态栏 return !super.isStatusBarEnabled(); } @OnClick(R.id.first_iv_scanning) public void onViewClicked() { getCameraPermission(); } private void getCameraPermission() { XXPermissions.with(getBindingActivity()) //.constantRequest() //可设置被拒绝后继续申请,直到用户授权或者永久拒绝 //.permission(Permission.SYSTEM_ALERT_WINDOW, Permission.REQUEST_INSTALL_PACKAGES) //支持请求6.0悬浮窗权限8.0请求安装权限 .permission(Permission.CAMERA) //不指定权限则自动获取清单中的危险权限 .request(new OnPermission() { @Override public void hasPermission(List granted, boolean isAll) { if (isAll) { //toast("获取权限成功"); startActivity(QrCodeActivity.class); }else { toast("获取权限成功,部分权限未正常授予"); } } @Override public void noPermission(List denied, boolean quick) { if(quick) { toast("未获取到照相机权限,请手动授予"); //如果是被永久拒绝就跳转到应用权限系统设置页面 XXPermissions.gotoPermissionSettings(getBindingActivity()); }else { toast("获取照相机权限失败,无法使用扫一扫"); } } }); } @Override public void onLoading() { } @Override public void onComplete() { } @Override public void onEmpty() { } @Override public void onError() { } @Override protected CategoryTimesPresenter createPresenter() { return new CategoryTimesPresenter(); } }