BaseFragment 权限不使用反射
This commit is contained in:
parent
df3481c924
commit
eb12cf44be
|
|
@ -1,10 +1,7 @@
|
||||||
package com.tfq.library.base;
|
package com.tfq.library.base;
|
||||||
|
|
||||||
import static com.tfq.library.app.BaseConstants.REQUEST_PER;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
@ -21,7 +18,6 @@ import com.hjq.toast.Toaster;
|
||||||
import com.tfq.library.R;
|
import com.tfq.library.R;
|
||||||
import com.tfq.library.permission.PermissionConverter;
|
import com.tfq.library.permission.PermissionConverter;
|
||||||
import com.tfq.library.view.Animation;
|
import com.tfq.library.view.Animation;
|
||||||
import com.tfq.library.view.AuthDialog;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -63,49 +59,36 @@ public abstract class BaseFragment extends Fragment {
|
||||||
Animation.startAnimation(requireActivity());
|
Animation.startAnimation(requireActivity());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限请求
|
* 权限请求
|
||||||
|
*
|
||||||
|
* @param iPermissions 单个权限
|
||||||
|
* @param listener 回调
|
||||||
*/
|
*/
|
||||||
protected void requestPermission(IPermission[] per,Listener listener) {
|
protected void requestPermission(IPermission iPermissions, Listener listener) {
|
||||||
requestPermission(per, content, listener);
|
XXPermissions.with(getActivity())
|
||||||
|
.permission(iPermissions)
|
||||||
|
.request(new OnPermissionCallback() {
|
||||||
|
@Override
|
||||||
|
public void onResult(@NonNull List<IPermission> grantedList, @NonNull List<IPermission> deniedList) {
|
||||||
|
boolean allGranted = deniedList.isEmpty();
|
||||||
|
if (!allGranted) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
listener.success();
|
||||||
protected void requestPermission(IPermission[] per, String content, Listener listener) {
|
showGrantedPermissionsToast(requireActivity(), grantedList);
|
||||||
if (!TextUtils.isEmpty(content)) {
|
|
||||||
this.content = content;
|
|
||||||
}
|
}
|
||||||
requestPermission(per, content, true, listener);
|
});
|
||||||
}
|
|
||||||
|
|
||||||
protected void requestPermission(IPermission[] per, String content, boolean req_permission, Listener listener) {
|
|
||||||
if (!TextUtils.isEmpty(content)) {
|
|
||||||
this.content = content;
|
|
||||||
}
|
|
||||||
requestPermission(per, req_permission, listener);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 申请权限
|
* 权限请求
|
||||||
*
|
*
|
||||||
* @param permission 权限集合
|
* @param iPermissions 权限数组
|
||||||
* @param req_permission 申请权限之前是否提示,默认false,不提示
|
* @param listener 回调
|
||||||
* @param listener 监听
|
|
||||||
*/
|
*/
|
||||||
protected void requestPermission(IPermission[] permission, boolean req_permission, Listener listener) {
|
protected void requestPermission(IPermission[] iPermissions, Listener listener) {
|
||||||
if (!req_permission) {//不弹窗直接申请权限
|
|
||||||
requestPermission(permission, null ,listener);
|
|
||||||
} else {//先弹窗,再去申请
|
|
||||||
new AuthDialog(getActivity(), REQUEST_PER, new AuthDialog.Listener() {
|
|
||||||
@Override
|
|
||||||
public void callBack() {
|
|
||||||
//同意申请权限,去申请
|
|
||||||
requestPermission(permission, null ,listener);
|
|
||||||
}
|
|
||||||
}).show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void requestPermission(IPermission[] iPermissions, Object object, Listener listener) {
|
|
||||||
XXPermissions.with(getActivity())
|
XXPermissions.with(getActivity())
|
||||||
.permissions(iPermissions)
|
.permissions(iPermissions)
|
||||||
.request(new OnPermissionCallback() {
|
.request(new OnPermissionCallback() {
|
||||||
|
|
@ -118,19 +101,6 @@ public abstract class BaseFragment extends Fragment {
|
||||||
listener.success();
|
listener.success();
|
||||||
showGrantedPermissionsToast(requireActivity(), grantedList);
|
showGrantedPermissionsToast(requireActivity(), grantedList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// @Override
|
|
||||||
// public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
|
|
||||||
// if (show_doNotAskAgain) {
|
|
||||||
// if (doNotAskAgain) {
|
|
||||||
// //如果是被永久拒绝就跳转到应用权限系统设置页面
|
|
||||||
// XXPermissions.startPermissionActivity(getActivity(), iPermissionList);
|
|
||||||
// } else {
|
|
||||||
// //获取权限失败
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue