Skip to content

Commit 4acdc6b

Browse files
committed
see 04/25 log
1 parent 3376626 commit 4acdc6b

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
import java.io.Reader;
1111
import java.lang.reflect.Type;
12-
import java.util.HashMap;
1312
import java.util.List;
1413
import java.util.Map;
1514
import java.util.Set;

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

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,18 @@ public static Uri file2Uri(@NonNull final File file) {
7070
* @return file
7171
*/
7272
public static File uri2File(@NonNull final Uri uri) {
73+
File file = uri2FileReal(uri);
74+
if (file != null) return file;
75+
return copyUri2Cache(uri);
76+
}
77+
78+
/**
79+
* Uri to file.
80+
*
81+
* @param uri The uri.
82+
* @return file
83+
*/
84+
private static File uri2FileReal(@NonNull final Uri uri) {
7385
Log.d("UriUtils", uri.toString());
7486
String authority = uri.getAuthority();
7587
String scheme = uri.getScheme();
@@ -172,11 +184,8 @@ else if ("com.android.providers.downloads.documents".equals(authority)) {
172184
}
173185
}
174186

175-
// copy file to accessible cache using streams
176-
InputStream is = uri2InputStream(uri);
177-
File file = new File(Utils.getApp().getCacheDir(), "" + System.currentTimeMillis());
178-
UtilsBridge.writeFileFromIS(file.getAbsolutePath(), is);
179-
return file;
187+
Log.d("UriUtils", uri.toString() + " parse failed. -> 1_1");
188+
return null;
180189
}// end 1_1
181190
else if ("com.android.providers.media.documents".equals(authority)) {
182191
final String docId = DocumentsContract.getDocumentId(uri);
@@ -266,6 +275,14 @@ private static File getFileFromUri(final Uri uri,
266275
}
267276
}
268277

278+
private static File copyUri2Cache(Uri uri) {
279+
Log.d("UriUtils", "copyUri2Cache() called");
280+
InputStream is = uri2InputStream(uri);
281+
File file = new File(Utils.getApp().getCacheDir(), "" + System.currentTimeMillis());
282+
UtilsBridge.writeFileFromIS(file.getAbsolutePath(), is);
283+
return file;
284+
}
285+
269286
/**
270287
* uri to input stream.
271288
*

0 commit comments

Comments
 (0)