| package com.doumee.keyCabinet.utils; | 
|   | 
| import android.app.Activity; | 
| import android.graphics.Color; | 
| import android.widget.Toast; | 
|   | 
| import com.doumee.keyCabinet.R; | 
| import com.doumee.keyCabinet.utils.update.PermissionUtils; | 
| import com.doumee.keyCabinet.utils.update.PermissiondDialog; | 
| import com.yanzhenjie.permission.runtime.Permission; | 
| import com.yuyh.library.imgsel.ISNav; | 
| import com.yuyh.library.imgsel.config.ISCameraConfig; | 
| import com.yuyh.library.imgsel.config.ISListConfig; | 
|   | 
| import java.util.List; | 
|   | 
| public class PhotoUtils { | 
|     public static final int REQUEST_LIST_CODE = 144; | 
|     private Activity activity; | 
|     private Object source;//activity、fragment | 
|     private int count; | 
|   | 
|     public PhotoUtils(Activity activity, Object source) { | 
|         this.activity = activity; | 
|         this.source = source; | 
|     } | 
|   | 
|     public void getPhoto(int count){ | 
|         this.count=count; | 
|         getPermision(false); | 
|     } | 
|   | 
|     public void getCamera(){ | 
|         this.count=1; | 
|         getPermision(true); | 
|     } | 
|   | 
|     private void getPermision(boolean isToCamera) { | 
|         PermissionUtils.getPermission(activity, new PermissionUtils.CallBack() { | 
|             @Override | 
|             public void sucess() { | 
|                 if(isToCamera) { | 
|                     toCamera(); | 
|                 }else { | 
|                     selectPic(); | 
|                 } | 
|             } | 
|   | 
|             @Override | 
|             public void fail(List<String> permissions) { | 
|                 showNoPermissionTip(); | 
|             } | 
|         }, new String[]{Permission.CAMERA}); | 
|     } | 
|   | 
|     private PermissiondDialog permissiondDialog; | 
|   | 
|     /** | 
|      * 没有权限的提醒 | 
|      */ | 
|     private void showNoPermissionTip() { | 
|         try { | 
|             Toast.makeText(activity, activity.getString(R.string.buy_view_27), Toast.LENGTH_LONG).show(); | 
|             if (permissiondDialog == null) { | 
|                 permissiondDialog = new PermissiondDialog(activity, activity.getString(R.string.help), activity.getString(R.string.permiss_3), activity.getString(R.string.cancel), | 
|                         activity.getString(R.string.empower), new PermissiondDialog.OnClickListener() { | 
|                     @Override | 
|                     public void clickOk() { | 
|                         permissiondDialog.dismiss(); | 
|                         PermissionUtils.gotoPermission(activity); | 
|                     } | 
|   | 
|                     @Override | 
|                     public void clickNo() { | 
|                         permissiondDialog.dismiss(); | 
|                     } | 
|                 }); | 
|             } | 
|             if (!permissiondDialog.isShowing()) { | 
|                 permissiondDialog.show(); | 
|             } | 
|         } catch (Exception e) { | 
|   | 
|         } | 
|     } | 
|   | 
|     private void selectPic() { | 
|         // 自由配置选项 | 
|         ISListConfig config = new ISListConfig.Builder() | 
|                 // 是否多选, 默认true | 
|                 .multiSelect(count!=1) | 
|                 // 是否记住上次选中记录, 仅当multiSelect为true的时候配置,默认为true | 
|                 .rememberSelected(false) | 
|                 // “确定”按钮背景色 | 
|                 .btnBgColor(Color.GRAY) | 
|                 // “确定”按钮文字颜色 | 
|                 .btnTextColor(Color.BLUE) | 
|                 // 使用沉浸式状态栏 | 
|                 .statusBarColor(Color.parseColor("#0CC9A1")) | 
|                 // 返回图标ResId | 
|                 .backResId(R.mipmap.back) | 
|                 // 标题 | 
|                 .title(activity.getString(R.string.pic)) | 
|                 // 标题文字颜色 | 
|                 .titleColor(Color.WHITE) | 
|                 // TitleBar背景色 | 
|                 .titleBgColor(Color.parseColor("#0CC9A1")) | 
|                 // 裁剪大小。needCrop为true的时候配置 | 
|                 //.cropSize(1, 1, 200, 200) | 
|                 .needCrop(false) | 
|                 // 第一个是否显示相机,默认true | 
|                 .needCamera(true) | 
|                 // 最大选择图片数量,默认9 | 
|                 .maxNum(count) | 
|                 .build(); | 
|   | 
|         // 跳转到图片选择器 | 
|         ISNav.getInstance().toListActivity(source, config, REQUEST_LIST_CODE); | 
|     } | 
|   | 
|     private void toCamera() { | 
|         // 自由配置选项 | 
|         ISCameraConfig config = new ISCameraConfig.Builder() | 
|                 // 裁剪大小。needCrop为true的时候配置 | 
|                 .cropSize(1, 1, 300, 300) | 
|                 .needCrop(true) | 
|                 .build(); | 
|   | 
|         // 跳转到图片选择器 | 
|         ISNav.getInstance().toCameraActivity(source, config, REQUEST_LIST_CODE); | 
|     } | 
| } |