diff options
author | Steve McKay <smckay@google.com> | 2016-06-14 15:56:50 -0700 |
---|---|---|
committer | Steve McKay <smckay@google.com> | 2016-06-16 10:41:50 -0700 |
commit | 56d950c5e6c25ce3bfa2a19ae1a4ef122fc76fdf (patch) | |
tree | 62060eed1325ef9e26977a0ee21b86ff453c7cc1 /packages/DocumentsUI | |
parent | da66010cd8d52765decc3960ae7e1f3a7add0811 (diff) |
Include cause when reporting errors.
Bug: 29191892
Change-Id: I5f904da3a8564ec68ca634c28e3eda7f496a5c1c
Diffstat (limited to 'packages/DocumentsUI')
3 files changed, 11 insertions, 17 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java b/packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java index f10af4378c21..53fa3cc4abb4 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java +++ b/packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java @@ -227,7 +227,7 @@ class CopyJob extends Job { try { mBatchSize = calculateSize(mSrcs); } catch (ResourceException e) { - Log.w(TAG, "Failed to calculate total size. Copying without progress."); + Log.w(TAG, "Failed to calculate total size. Copying without progress.", e); mBatchSize = -1; } @@ -236,25 +236,19 @@ class CopyJob extends Job { for (int i = 0; i < mSrcs.size() && !isCanceled(); ++i) { srcInfo = mSrcs.get(i); - // Guard unsupported recursive operation. - try { - if (dstInfo.equals(srcInfo) || isDescendentOf(srcInfo, dstInfo)) { - throw new ResourceException("Cannot copy to itself recursively."); - } - } catch (ResourceException e) { - Log.e(TAG, e.toString()); - onFileFailed(srcInfo); - continue; - } - if (DEBUG) Log.d(TAG, "Copying " + srcInfo.displayName + " (" + srcInfo.derivedUri + ")" + " to " + dstInfo.displayName + " (" + dstInfo.derivedUri + ")"); try { - processDocument(srcInfo, null, dstInfo); + if (dstInfo.equals(srcInfo) || isDescendentOf(srcInfo, dstInfo)) { + Log.e(TAG, "Skipping recursive copy of " + srcInfo.derivedUri); + onFileFailed(srcInfo); + } else { + processDocument(srcInfo, null, dstInfo); + } } catch (ResourceException e) { - Log.e(TAG, e.toString()); + Log.e(TAG, "Failed to copy " + srcInfo.derivedUri, e); onFileFailed(srcInfo); } } @@ -306,7 +300,7 @@ class CopyJob extends Job { } } catch (RemoteException | RuntimeException e) { Log.e(TAG, "Provider side copy failed for: " + src.derivedUri - + " due to an exception: " + e); + + " due to an exception.", e); } // If optimized copy fails, then fallback to byte-by-byte copy. if (DEBUG) Log.d(TAG, "Fallback to byte-by-byte copy for: " + src.derivedUri); diff --git a/packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java b/packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java index 8f451623cf72..36a0f3216a63 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java +++ b/packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java @@ -86,7 +86,7 @@ final class DeleteJob extends Job { try { deleteDocument(doc, mSrcParent); } catch (ResourceException e) { - Log.e(TAG, "Failed to delete document @ " + doc.derivedUri); + Log.e(TAG, "Failed to delete document @ " + doc.derivedUri, e); onFileFailed(doc); } } diff --git a/packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java b/packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java index aaa7596be014..111817132fa1 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java +++ b/packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java @@ -98,7 +98,7 @@ final class MoveJob extends CopyJob { } } catch (RemoteException | RuntimeException e) { Log.e(TAG, "Provider side move failed for: " + src.derivedUri - + " due to an exception: " + e); + + " due to an exception: ", e); } // If optimized move fails, then fallback to byte-by-byte copy. if (DEBUG) Log.d(TAG, "Fallback to byte-by-byte move for: " + src.derivedUri); |