summaryrefslogtreecommitdiff
path: root/packages/DocumentsUI
diff options
context:
space:
mode:
authorSteve McKay <smckay@google.com>2016-06-14 15:56:50 -0700
committerSteve McKay <smckay@google.com>2016-06-16 10:41:50 -0700
commit56d950c5e6c25ce3bfa2a19ae1a4ef122fc76fdf (patch)
tree62060eed1325ef9e26977a0ee21b86ff453c7cc1 /packages/DocumentsUI
parentda66010cd8d52765decc3960ae7e1f3a7add0811 (diff)
Include cause when reporting errors.
Bug: 29191892 Change-Id: I5f904da3a8564ec68ca634c28e3eda7f496a5c1c
Diffstat (limited to 'packages/DocumentsUI')
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java24
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java2
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java2
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);