Skip to content

Commit b83086e

Browse files
author
Blankj
committed
see 03/08 log
1 parent 698ef14 commit b83086e

8 files changed

Lines changed: 35 additions & 27 deletions

File tree

README-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
4343

44-
[aucSvg]: https://img.shields.io/badge/AndroidUtilCode-v1.23.7-brightgreen.svg
44+
[aucSvg]: https://img.shields.io/badge/AndroidUtilCode-v1.23.8-brightgreen.svg
4545
[auc]: https://github.com/Blankj/AndroidUtilCode
4646

4747
[apiSvg]: https://img.shields.io/badge/API-14+-brightgreen.svg

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ If this project helps you a lot and you want to support the project's developmen
4141

4242
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
4343

44-
[aucSvg]: https://img.shields.io/badge/AndroidUtilCode-v1.23.7-brightgreen.svg
44+
[aucSvg]: https://img.shields.io/badge/AndroidUtilCode-v1.23.8-brightgreen.svg
4545
[auc]: https://github.com/Blankj/AndroidUtilCode
4646

4747
[apiSvg]: https://img.shields.io/badge/API-14+-brightgreen.svg

config.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ ext {
55
compileSdkVersion = 27
66
minSdkVersion = 14
77
targetSdkVersion = 27
8-
versionCode = 1_023_007
9-
versionName = '1.23.7'// E.g. 1.9.72 => 1,009,072
8+
versionCode = 1_023_008
9+
versionName = '1.23.8'// E.g. 1.9.72 => 1,009,072
1010

1111
bus = [
1212
isDebug: false,

lib/base/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ dependencies {
1515
api dep.free_proguard
1616
api 'com.r0adkll:slidableactivity:2.0.5'
1717
compileOnly dep.leakcanary.android_no_op
18-
// api 'com.blankj:utilcode:1.23.7'
18+
// api 'com.blankj:utilcode:1.23.8'
1919
}

utilcode/README-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Gradle:
44
```groovy
5-
implementation 'com.blankj:utilcode:1.23.7'
5+
implementation 'com.blankj:utilcode:1.23.8'
66
```
77

88

utilcode/README-STATIC-BUS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ apply plugin: "com.blankj.bus"
2727
给 base 模块添加 [AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode) 依赖:
2828

2929
```groovy
30-
api "com.blankj:utilcode:1.23.7"
30+
api "com.blankj:utilcode:1.23.8"
3131
```
3232

3333
比如 module0 中存在的 `Module0Activity.java`,我们通常都是在它内部写一个 `start` 函数来启动它,现在我们给它添加 `@BusUtils.Subscribe` 注解,并给注解的 `name` 赋唯一值,要注意,函数务必要 `public static` 哦:

utilcode/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Gradle:
44
```groovy
5-
implementation 'com.blankj:utilcode:1.23.7'
5+
implementation 'com.blankj:utilcode:1.23.8'
66
```
77

88

utilcode/lib/src/main/java/com/blankj/utilcode/util/UriUtils.java

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import android.provider.MediaStore;
1111
import android.support.annotation.NonNull;
1212
import android.support.v4.content.FileProvider;
13+
import android.text.TextUtils;
1314
import android.util.Log;
1415

1516
import java.io.File;
@@ -70,12 +71,16 @@ public static File uri2File(@NonNull final Uri uri) {
7071
Log.d("UriUtils", uri.toString() + " parse failed. -> 1");
7172
return null;
7273
} else if ("com.android.providers.downloads.documents".equals(authority)) {
73-
final String id = DocumentsContract.getDocumentId(uri);
74-
final Uri contentUri = ContentUris.withAppendedId(
75-
Uri.parse("content://downloads/public_downloads"),
76-
Long.valueOf(id)
77-
);
78-
return getFileFromUri(contentUri, 2);
74+
String id = DocumentsContract.getDocumentId(uri);
75+
if (!TextUtils.isEmpty(id)) {
76+
final Uri contentUri = ContentUris.withAppendedId(
77+
Uri.parse(Environment.DIRECTORY_DOWNLOADS),
78+
Long.valueOf(id)
79+
);
80+
return getFileFromUri(contentUri, 2);
81+
}
82+
Log.d("UriUtils", uri.toString() + " parse failed. -> 3");
83+
return null;
7984
} else if ("com.android.providers.media.documents".equals(authority)) {
8085
final String docId = DocumentsContract.getDocumentId(uri);
8186
final String[] split = docId.split(":");
@@ -88,22 +93,22 @@ public static File uri2File(@NonNull final Uri uri) {
8893
} else if ("audio".equals(type)) {
8994
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
9095
} else {
91-
Log.d("UriUtils", uri.toString() + " parse failed. -> 3");
96+
Log.d("UriUtils", uri.toString() + " parse failed. -> 4");
9297
return null;
9398
}
9499
final String selection = "_id=?";
95100
final String[] selectionArgs = new String[]{split[1]};
96-
return getFileFromUri(contentUri, selection, selectionArgs, 4);
101+
return getFileFromUri(contentUri, selection, selectionArgs, 5);
97102
} else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {
98-
return getFileFromUri(uri, 5);
103+
return getFileFromUri(uri, 6);
99104
} else {
100-
Log.d("UriUtils", uri.toString() + " parse failed. -> 6");
105+
Log.d("UriUtils", uri.toString() + " parse failed. -> 7");
101106
return null;
102107
}
103108
} else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {
104-
return getFileFromUri(uri, 7);
109+
return getFileFromUri(uri, 8);
105110
} else {
106-
Log.d("UriUtils", uri.toString() + " parse failed. -> 8");
111+
Log.d("UriUtils", uri.toString() + " parse failed. -> 9");
107112
return null;
108113
}
109114
}
@@ -116,13 +121,14 @@ private static File getFileFromUri(final Uri uri,
116121
final String selection,
117122
final String[] selectionArgs,
118123
final int code) {
119-
final Cursor cursor = Utils.getApp().getContentResolver().query(
120-
uri, new String[]{"_data"}, selection, selectionArgs, null);
121-
if (cursor == null) {
122-
Log.d("UriUtils", uri.toString() + " parse failed(cursor is null). -> " + code);
123-
return null;
124-
}
124+
Cursor cursor = null;
125125
try {
126+
cursor = Utils.getApp().getContentResolver().query(
127+
uri, new String[]{"_data"}, selection, selectionArgs, null);
128+
if (cursor == null) {
129+
Log.d("UriUtils", uri.toString() + " parse failed(cursor is null). -> " + code);
130+
return null;
131+
}
126132
if (cursor.moveToFirst()) {
127133
final int columnIndex = cursor.getColumnIndex("_data");
128134
if (columnIndex > -1) {
@@ -139,7 +145,9 @@ private static File getFileFromUri(final Uri uri,
139145
Log.d("UriUtils", uri.toString() + " parse failed. -> " + code);
140146
return null;
141147
} finally {
142-
cursor.close();
148+
if (cursor != null) {
149+
cursor.close();
150+
}
143151
}
144152
}
145153
}

0 commit comments

Comments
 (0)