Add unified preview UI
ChooserContentPreviewUi applies various heuristic to determine if each
shared URI has a preview and, if any, displays a scrollable preview
list. Each preview item in the list is badge accroding ot its type: no
badge for images, a video-file badge for videos and a generic-file badge
for all others. All URIs without a previwe are groupped under a single
item at list end (+N files).
Collateral changes:
* FileContentPreviewUi$FileInfo is moved into the package level;
* ChooserContentPreviewUi$ImageMimeTypeClassifier internface is moved
into the package level, renamted to MimeTypeClassifier and defines a
new method, isVideoType();
* ScrollableImagePreviewView is modified to support badges and the
"+N" item;
* A new class, UnfifiedContentPreviewUi is clonned from
ImageContentPreviewUi class, and is reponsible for drawing the new
unified preview ui, ImageContentPreviewUi is used only with the
legacy image content preview.
Bug: 271613784
Test: manual testing
Change-Id: Ia25f5a1565226ac679cc8ecefd58acb95cb60142
20 files changed