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);
|
}
|
}
|