Skip to content

Commit d4c4eda

Browse files
author
HJQ
committed
优化字段命名
1 parent c841d92 commit d4c4eda

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

library/build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@ apply plugin: 'com.jfrog.bintray'
44
apply plugin: 'com.github.dcendents.android-maven'
55

66
android {
7-
compileSdkVersion 25
7+
compileSdkVersion 23
88
buildToolsVersion "25.0.3"
99

1010
defaultConfig {
1111
minSdkVersion 11
12-
targetSdkVersion 25
13-
versionCode 3
14-
versionName "1.2"
12+
targetSdkVersion 23
13+
versionCode 5
14+
versionName "1.3"
1515
}
1616
}
1717

1818
def siteUrl = 'https://github.com/getActivity/XXPermissions' //项目在github中的地址
1919
def gitUrl = siteUrl + ".git" //项目在github中的地址
2020

21-
//compile 'com.hjq:xxpermissions:1.2'
21+
//compile 'com.hjq:xxpermissions:1.3'
2222
def groupId = 'com.hjq' //定义的maven group id最终引用形式
2323
def artifactId = 'xxpermissions'//maven的artifact id,不要带大写,可以用“-”代替
24-
def versionName = '1.2'//maven 上发布版本号
24+
def versionName = '1.3'//maven 上发布版本号
2525

2626
def repositoryName = 'maven' //自己创建的仓库名,直接在bintray账号下创建的
2727
def repositoryDesc = 'Android 6.0 permissions adaptation framework' //仓库描述,自己定义

library/src/main/java/com/hjq/permissions/PermissionFragment.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
*/
1212
public final class PermissionFragment extends Fragment {
1313

14-
private static final String PERMISSIONS = "permissions";
14+
private static final String PERMISSION_GROUP = "permission_group";
1515
private static final String REQUEST_CODE ="request_code";
1616

1717
public static PermissionFragment newInstant(ArrayList<String> permissions, int requestCode) {
1818
PermissionFragment fragment = new PermissionFragment();
1919
Bundle bundle = new Bundle();
20-
bundle.putStringArrayList(PERMISSIONS, permissions);
20+
bundle.putStringArrayList(PERMISSION_GROUP, permissions);
2121
bundle.putInt(REQUEST_CODE, requestCode);
2222
fragment.setArguments(bundle);
2323
return fragment;
@@ -27,7 +27,7 @@ public static PermissionFragment newInstant(ArrayList<String> permissions, int r
2727
public void onActivityCreated(Bundle savedInstanceState) {
2828
super.onActivityCreated(savedInstanceState);
2929
if (PermissionUtils.isOverMarshmallow()) {
30-
ArrayList<String> permissions = getArguments().getStringArrayList(PERMISSIONS);
30+
ArrayList<String> permissions = getArguments().getStringArrayList(PERMISSION_GROUP);
3131
requestPermissions(permissions.toArray(new String[permissions.size() - 1]), getArguments().getInt(REQUEST_CODE));
3232
}
3333
}

library/src/main/java/com/hjq/permissions/XXPermissions.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@
1313
*/
1414
public final class XXPermissions {
1515

16-
private final static SparseArray<OnPermission> mContainer = new SparseArray<>();
17-
18-
private static long requestTime;
16+
private final static SparseArray<OnPermission> sContainer = new SparseArray<>();
17+
private static long sRequestTime;
1918

2019
private Activity mActivity;
2120
private String[] mPermissions;
@@ -72,7 +71,7 @@ public void request(OnPermission call) {
7271
do {
7372
//requestCode = new Random().nextInt(65535);//Studio编译的APK请求码必须小于65536
7473
requestCode = new Random().nextInt(255);//Eclipse编译的APK请求码必须小于256
75-
} while (mContainer.get(requestCode) != null);
74+
} while (sContainer.get(requestCode) != null);
7675

7776
ArrayList<String> failPermissions = PermissionUtils.getFailPermissions(mActivity, mPermissions);
7877

@@ -81,9 +80,9 @@ public void request(OnPermission call) {
8180
call.hasPermission(Arrays.asList(mPermissions));
8281
} else {
8382
//将当前的请求码和对象添加到集合中
84-
mContainer.put(requestCode, call);
83+
sContainer.put(requestCode, call);
8584
//记录本次申请时间
86-
requestTime = System.currentTimeMillis();
85+
sRequestTime = System.currentTimeMillis();
8786
//检测权限有没有在清单文件中注册
8887
PermissionUtils.checkPermissions(mActivity, mPermissions);
8988
//申请没有授予过的权限
@@ -107,7 +106,7 @@ public static boolean isHasPermission(Context context, String... permissions) {
107106
* @param context 上下文对象
108107
*/
109108
public static void gotoPermissionSettings(Context context) {
110-
gotoPermissionSettings(context, false);
109+
PermissionUtils.gotoPermissionSettings(context, false);
111110
}
112111

113112
/**
@@ -125,27 +124,29 @@ public static void gotoPermissionSettings(Context context, boolean newTask) {
125124
*/
126125
static void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
127126

128-
OnPermission call = mContainer.get(requestCode);
127+
OnPermission call = sContainer.get(requestCode);
129128

130129
//根据请求码取出的对象为空,就直接返回不处理
131130
if (call == null) return;
132131

132+
//获取授予权限
133133
List<String> succeedPermissions = PermissionUtils.getSucceedPermissions(permissions, grantResults);
134-
List<String> failPermissions = PermissionUtils.getFailPermissions(permissions, grantResults);
135134
//如果请求成功的权限集合大小和请求的数组一样大时证明权限已经全部授予
136135
if (succeedPermissions.size() == permissions.length) {
137136
//代表申请的所有的权限都授予了
138137
call.hasPermission(succeedPermissions);
139138
}else {
139+
//获取拒绝权限
140+
List<String> failPermissions = PermissionUtils.getFailPermissions(permissions, grantResults);
140141
//代表申请的权限中有不同意授予的,如果拒绝的时间过快证明是系统自动拒绝
141-
call.noPermission(failPermissions, System.currentTimeMillis() - requestTime < 200);
142+
call.noPermission(failPermissions, System.currentTimeMillis() - sRequestTime < 200);
142143
//证明还有一部分权限被成功授予,回调成功接口
143144
if (!succeedPermissions.isEmpty()) {
144145
call.hasPermission(succeedPermissions);
145146
}
146147
}
147148

148149
//权限回调结束后要删除集合中的对象,避免重复请求
149-
mContainer.remove(requestCode);
150+
sContainer.remove(requestCode);
150151
}
151152
}

0 commit comments

Comments
 (0)