Commit 657f0a5a77140486cafc05bf6b4d9d7a6cc63892
1 parent
a1ebbd54
1 优化基类权限申请逻辑
Showing
1 changed file
with
18 additions
and
12 deletions
core/base/src/main/java/com/cnlive/core/libs/base/frame/activity/BaseActivity.java
| ... | ... | @@ -892,6 +892,8 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 892 | 892 | if (onPermissionResponseListener != null) { |
| 893 | 893 | onPermissionResponseListener.onSuccess(permissions); |
| 894 | 894 | } |
| 895 | + //重置显示值 | |
| 896 | + resetPermissionConfig(); | |
| 895 | 897 | } else { |
| 896 | 898 | if (onPermissionResponseListener != null) { |
| 897 | 899 | onPermissionResponseListener.onFail(); |
| ... | ... | @@ -899,12 +901,11 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 899 | 901 | if (isShowRefuseDialog) { |
| 900 | 902 | showTipsDialog(); |
| 901 | 903 | } else { |
| 902 | - //重置显示值 | |
| 903 | - isShowRefuseDialog = true; | |
| 904 | 904 | if (isDefinePermissionCloseActivity) { |
| 905 | 905 | finish(); |
| 906 | - isDefinePermissionCloseActivity = false; | |
| 907 | 906 | } |
| 907 | + //重置显示值 | |
| 908 | + resetPermissionConfig(); | |
| 908 | 909 | } |
| 909 | 910 | } |
| 910 | 911 | } |
| ... | ... | @@ -914,6 +915,8 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 914 | 915 | if (onPermissionResponseListener != null) { |
| 915 | 916 | onPermissionResponseListener.onSuccess(permissions); |
| 916 | 917 | } |
| 918 | + //重置显示值 | |
| 919 | + resetPermissionConfig(); | |
| 917 | 920 | } else { |
| 918 | 921 | if (onPermissionResponseListener != null) { |
| 919 | 922 | onPermissionResponseListener.onFail(); |
| ... | ... | @@ -921,19 +924,25 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 921 | 924 | if (isShowRefuseDialog) { |
| 922 | 925 | showTipsDialog(); |
| 923 | 926 | } else { |
| 924 | - //重置显示值 | |
| 925 | - isShowRefuseDialog = true; | |
| 926 | 927 | if (isDefinePermissionCloseActivity) { |
| 927 | 928 | finish(); |
| 928 | - isDefinePermissionCloseActivity = false; | |
| 929 | 929 | } |
| 930 | + //重置显示值 | |
| 931 | + resetPermissionConfig(); | |
| 930 | 932 | } |
| 931 | 933 | } |
| 932 | - //重置用户提示语 | |
| 933 | - userSetDefinePermissionTip = ""; | |
| 934 | + | |
| 934 | 935 | } |
| 935 | 936 | } |
| 936 | 937 | |
| 938 | + private void resetPermissionConfig() { | |
| 939 | + isShowRefuseDialog = true;//默认显示权限拒绝提示框 | |
| 940 | + isUserClickAllowBtn = false;//默认用户没有点击允许按钮 | |
| 941 | + USER_SET_REQUEST_CODE_PERMISSION = -0x00099;//默认用户没有自己设置权限请求码 | |
| 942 | + userSetDefinePermissionTip = "";//默认没有设置提示语 | |
| 943 | + isDefinePermissionCloseActivity = false;//默认不允许关闭当前窗口 | |
| 944 | + } | |
| 945 | + | |
| 937 | 946 | /** |
| 938 | 947 | * 检测所有的权限是否都已授权 |
| 939 | 948 | * |
| ... | ... | @@ -999,13 +1008,10 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 999 | 1008 | .setNegativeButton("取消", new DialogInterface.OnClickListener() { |
| 1000 | 1009 | @Override |
| 1001 | 1010 | public void onClick(DialogInterface dialog, int which) { |
| 1002 | - isUserClickAllowBtn = false; | |
| 1003 | - isShowRefuseDialog = true; | |
| 1004 | 1011 | if (isDefinePermissionCloseActivity) { |
| 1005 | - isDefinePermissionCloseActivity = false; | |
| 1006 | 1012 | finish(); |
| 1007 | 1013 | } |
| 1008 | - | |
| 1014 | + resetPermissionConfig(); | |
| 1009 | 1015 | } |
| 1010 | 1016 | }) |
| 1011 | 1017 | .setPositiveButton("去设置", new DialogInterface.OnClickListener() { | ... | ... |