Sharesheet - Address misleading logs
Log more informative warnings to assist developers in adding an
optional preview section.
Bug: 132152987
Test: Manual
Change-Id: I4a97675315871317591d627cccc79da3f7e89d46
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index b7d838e..740753d 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -779,7 +779,7 @@
}
}
} catch (SecurityException | NullPointerException e) {
- Log.w(TAG, "Error loading file preview", e);
+ logContentPreviewWarning(uri);
}
if (TextUtils.isEmpty(fileName)) {
@@ -793,6 +793,14 @@
return new FileInfo(fileName, hasThumbnail);
}
+ private void logContentPreviewWarning(Uri uri) {
+ // The ContentResolver already logs the exception. Log something more informative.
+ Log.w(TAG, "Could not load (" + uri.toString() + ") thumbnail/name for preview. If "
+ + "desired, consider using Intent#createChooser to launch the ChooserActivity, "
+ + "and set your Intent's clipData and flags in accordance with that method's "
+ + "documentation");
+ }
+
private ViewGroup displayFileContentPreview(Intent targetIntent, LayoutInflater layoutInflater,
ViewGroup convertView, ViewGroup parent) {
@@ -1664,7 +1672,7 @@
try {
return ImageUtils.loadThumbnail(getContentResolver(), uri, size);
} catch (IOException | NullPointerException | SecurityException ex) {
- Log.w(TAG, "Error loading preview thumbnail for uri: " + uri.toString(), ex);
+ logContentPreviewWarning(uri);
}
return null;
}