Sharesheet - broken file preview with profile switch

Capturing any security exceptions for file content preview, and
logging for now

Bug: 124203056
Test: Bug report -> Share -> Switch profile
Change-Id: Ia22f5d646795d09eae34ca498bee4442665783cd
(cherry picked from commit acabc574e788701ec152977de397193fd55bab0e)
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 8ebcef5..585a1f1 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -633,40 +633,46 @@
         // due to permissions issues
         findViewById(R.id.file_copy_button).setVisibility(View.GONE);
 
-        ContentResolver resolver = getContentResolver();
-        TextView fileNameView = findViewById(R.id.content_preview_filename);
-        String action = targetIntent.getAction();
-        if (Intent.ACTION_SEND.equals(action)) {
-            Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM);
+        try {
+            ContentResolver resolver = getContentResolver();
+            TextView fileNameView = findViewById(R.id.content_preview_filename);
+            String action = targetIntent.getAction();
+            if (Intent.ACTION_SEND.equals(action)) {
+                Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM);
 
-            FileInfo fileInfo = extractFileInfo(uri, resolver);
-            fileNameView.setText(fileInfo.name);
+                FileInfo fileInfo = extractFileInfo(uri, resolver);
+                fileNameView.setText(fileInfo.name);
 
-            if (fileInfo.hasThumbnail) {
-                loadUriIntoView(R.id.content_preview_file_thumbnail, uri);
+                if (fileInfo.hasThumbnail) {
+                    loadUriIntoView(R.id.content_preview_file_thumbnail, uri);
+                } else {
+                    ImageView fileIconView = findViewById(R.id.content_preview_file_icon);
+                    fileIconView.setVisibility(View.VISIBLE);
+                    fileIconView.setImageResource(R.drawable.ic_doc_generic);
+                }
             } else {
+                List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
+                if (uris.size() == 0) {
+                    contentPreviewLayout.setVisibility(View.GONE);
+                    Log.i(TAG,
+                            "Appears to be no uris available in EXTRA_STREAM, removing preview "
+                                    + "area");
+                    return;
+                }
+
+                FileInfo fileInfo = extractFileInfo(uris.get(0), resolver);
+                int remFileCount = uris.size() - 1;
+                String fileName = getResources().getQuantityString(R.plurals.file_count,
+                        remFileCount, fileInfo.name, remFileCount);
+
+                fileNameView.setText(fileName);
                 ImageView fileIconView = findViewById(R.id.content_preview_file_icon);
                 fileIconView.setVisibility(View.VISIBLE);
-                fileIconView.setImageResource(R.drawable.ic_doc_generic);
+                fileIconView.setImageResource(R.drawable.ic_file_copy);
             }
-        } else {
-            List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
-            if (uris.size() == 0) {
-                contentPreviewLayout.setVisibility(View.GONE);
-                Log.i(TAG,
-                        "Appears to be no uris available in EXTRA_STREAM, removing preview area");
-                return;
-            }
-
-            FileInfo fileInfo = extractFileInfo(uris.get(0), resolver);
-            int remFileCount = uris.size() - 1;
-            String fileName = getResources().getQuantityString(R.plurals.file_count,
-                    remFileCount, fileInfo.name, remFileCount);
-
-            fileNameView.setText(fileName);
-            ImageView fileIconView = findViewById(R.id.content_preview_file_icon);
-            fileIconView.setVisibility(View.VISIBLE);
-            fileIconView.setImageResource(R.drawable.ic_file_copy);
+        } catch (SecurityException e) {
+            Log.w(TAG, "Error loading file preview", e);
+            contentPreviewLayout.setVisibility(View.GONE);
         }
     }