From e192cb71d6a8e2e85c32cfb3d61ea5770d1e4e00 Mon Sep 17 00:00:00 2001 From: Tomasz Mikolajewski Date: Tue, 1 Mar 2016 10:36:10 +0900 Subject: [PATCH] Fix crash in isChildDocument when parent is in zip, and child not. There is no regular file representation for archive documents, so the call to getFileForDocId(archivedDocId) was throwing an exception. Bug: 27383423 Change-Id: Icbc1e8ecdddc7698cfdb79b41da6e1d3cecf11ae --- .../com/android/externalstorage/ExternalStorageProvider.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java index 97dfd47aea9f4..97527ddf3222d 100644 --- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java +++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java @@ -391,6 +391,10 @@ public class ExternalStorageProvider extends DocumentsProvider { if (mArchiveHelper.isArchivedDocument(docId)) { return mArchiveHelper.isChildDocument(parentDocId, docId); } + // Archives do not contain regular files. + if (mArchiveHelper.isArchivedDocument(parentDocId)) { + return false; + } final File parent = getFileForDocId(parentDocId).getCanonicalFile(); final File doc = getFileForDocId(docId).getCanonicalFile();