diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_cab_accept.png b/packages/DocumentsUI/res/drawable-hdpi/ic_cab_accept.png
new file mode 100644
index 0000000000000..234ca8a41f228
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_cab_accept.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_cab_remove_field_holo_light.png b/packages/DocumentsUI/res/drawable-hdpi/ic_cab_remove_field_holo_light.png
new file mode 100644
index 0000000000000..c9fa5c61d0a50
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_cab_remove_field_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_cab_select_item.png b/packages/DocumentsUI/res/drawable-hdpi/ic_cab_select_item.png
new file mode 100644
index 0000000000000..e9bd0105f1b5e
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_cab_select_item.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_dir.png b/packages/DocumentsUI/res/drawable-hdpi/ic_dir.png
index d02534f1ecaf8..aabeda688c615 100644
Binary files a/packages/DocumentsUI/res/drawable-hdpi/ic_dir.png and b/packages/DocumentsUI/res/drawable-hdpi/ic_dir.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_apk.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_apk.png
new file mode 100644
index 0000000000000..5bda872ab1249
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_apk.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_audio.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_audio.png
new file mode 100644
index 0000000000000..38e315a66f47f
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_audio.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_certificate.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_certificate.png
new file mode 100644
index 0000000000000..c6e95827cf0ab
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_certificate.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_codes.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_codes.png
new file mode 100644
index 0000000000000..c5a748b102017
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_codes.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_compressed.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_compressed.png
new file mode 100644
index 0000000000000..a59bd235d5dec
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_compressed.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_contact.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_contact.png
new file mode 100644
index 0000000000000..87799c69daed3
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_contact.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_event.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_event.png
new file mode 100644
index 0000000000000..a3bbc0ffeb40d
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_event.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_font.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_font.png
new file mode 100644
index 0000000000000..56133d4677e98
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_font.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_image.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_image.png
new file mode 100644
index 0000000000000..e655d0480c2fc
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_image.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_pdf.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_pdf.png
new file mode 100644
index 0000000000000..9ce032f8b1b36
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_pdf.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_presentation.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_presentation.png
new file mode 100644
index 0000000000000..53bfc52d491c6
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_presentation.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_spreadsheet.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_spreadsheet.png
new file mode 100644
index 0000000000000..5a49de8493e56
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_spreadsheet.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_text.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_text.png
new file mode 100644
index 0000000000000..af79de900d7d3
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_text.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_doc_video.png b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_video.png
new file mode 100644
index 0000000000000..a0676d70c943e
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_doc_video.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_create_dir.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_create_dir.png
deleted file mode 100644
index 6eb31f1cdbbd0..0000000000000
Binary files a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_create_dir.png and /dev/null differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_disconnect.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_disconnect.png
new file mode 100644
index 0000000000000..4736da16d75d2
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_disconnect.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_edit_holo.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_edit_holo.png
new file mode 100644
index 0000000000000..50ac93550a88f
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_edit_holo.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_grid.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_grid.png
deleted file mode 100644
index d1326e5e3d4bc..0000000000000
Binary files a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_grid.png and /dev/null differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_list.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_list.png
deleted file mode 100644
index e03e3454f08ee..0000000000000
Binary files a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_list.png and /dev/null differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_new_folder.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_new_folder.png
new file mode 100644
index 0000000000000..00faf9ddf4620
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_new_folder.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_revert_holo_light.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_revert_holo_light.png
new file mode 100644
index 0000000000000..e9c0b01d7a149
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_revert_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_search.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_search_holo_light.png
similarity index 100%
rename from packages/DocumentsUI/res/drawable-hdpi/ic_menu_search.png
rename to packages/DocumentsUI/res/drawable-hdpi/ic_menu_search_holo_light.png
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_share_holo_light_icononly.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_share_holo_light_icononly.png
new file mode 100644
index 0000000000000..527e43c8e7725
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_share_holo_light_icononly.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_sort.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_sort.png
deleted file mode 100644
index 680d4826483ad..0000000000000
Binary files a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_sort.png and /dev/null differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_sortby_holo_light.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_sortby_holo_light.png
new file mode 100644
index 0000000000000..9421792d9e761
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_sortby_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_trash_holo_light.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_trash_holo_light.png
new file mode 100644
index 0000000000000..f662f94aa8d17
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_trash_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_view_grid.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_view_grid.png
new file mode 100644
index 0000000000000..2c59d609597d7
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_view_grid.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_menu_view_list.png b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_view_list.png
new file mode 100644
index 0000000000000..0dbb0750d7be6
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_menu_view_list.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_perm_group_system_tools.png b/packages/DocumentsUI/res/drawable-hdpi/ic_perm_group_system_tools.png
new file mode 100644
index 0000000000000..3905d0e93d693
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_perm_group_system_tools.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_root_download.png b/packages/DocumentsUI/res/drawable-hdpi/ic_root_download.png
new file mode 100644
index 0000000000000..e927efa781846
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_root_download.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_root_recent.png b/packages/DocumentsUI/res/drawable-hdpi/ic_root_recent.png
new file mode 100644
index 0000000000000..d23e617b2cc7a
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_root_recent.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_root_usb.png b/packages/DocumentsUI/res/drawable-hdpi/ic_root_usb.png
new file mode 100644
index 0000000000000..d8c51d73e7063
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/ic_root_usb.png differ
diff --git a/packages/DocumentsUI/res/drawable-hdpi/stat_notify_sdcard_light.png b/packages/DocumentsUI/res/drawable-hdpi/stat_notify_sdcard_light.png
new file mode 100644
index 0000000000000..9c9a7de5001cb
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-hdpi/stat_notify_sdcard_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_cab_accept.png b/packages/DocumentsUI/res/drawable-mdpi/ic_cab_accept.png
new file mode 100644
index 0000000000000..ad761e13c543e
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_cab_accept.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_cab_remove_field_holo_light.png b/packages/DocumentsUI/res/drawable-mdpi/ic_cab_remove_field_holo_light.png
new file mode 100644
index 0000000000000..7c29b715bb4e2
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_cab_remove_field_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_cab_select_item.png b/packages/DocumentsUI/res/drawable-mdpi/ic_cab_select_item.png
new file mode 100644
index 0000000000000..dff246a677bec
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_cab_select_item.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_apk.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_apk.png
new file mode 100644
index 0000000000000..26212e9a81033
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_apk.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_audio.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_audio.png
new file mode 100644
index 0000000000000..db9fa8bd977a5
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_audio.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_certificate.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_certificate.png
new file mode 100644
index 0000000000000..87877fe618af5
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_certificate.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_codes.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_codes.png
new file mode 100644
index 0000000000000..d552234cfddbe
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_codes.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_compressed.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_compressed.png
new file mode 100644
index 0000000000000..75c304a51f54d
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_compressed.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_contact.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_contact.png
new file mode 100644
index 0000000000000..849d8e745e7fe
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_contact.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_event.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_event.png
new file mode 100644
index 0000000000000..43044896cc673
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_event.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_font.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_font.png
new file mode 100644
index 0000000000000..e1ad89f7fb10e
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_font.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_image.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_image.png
new file mode 100644
index 0000000000000..914ed4b751048
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_image.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_pdf.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_pdf.png
new file mode 100644
index 0000000000000..dfdeb264b373b
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_pdf.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_presentation.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_presentation.png
new file mode 100644
index 0000000000000..0bcbca4259bf3
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_presentation.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_spreadsheet.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_spreadsheet.png
new file mode 100644
index 0000000000000..9e00ea103ff4e
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_spreadsheet.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_text.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_text.png
new file mode 100644
index 0000000000000..e2caba79d2918
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_text.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_doc_video.png b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_video.png
new file mode 100644
index 0000000000000..6393df6762fed
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_doc_video.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_disconnect.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_disconnect.png
new file mode 100644
index 0000000000000..64e8592fe2556
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_disconnect.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_edit_holo.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_edit_holo.png
new file mode 100644
index 0000000000000..8a2af67f84eb8
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_edit_holo.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_new_folder.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_new_folder.png
new file mode 100644
index 0000000000000..2b7e5caecfdda
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_new_folder.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_revert_holo_light.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_revert_holo_light.png
new file mode 100644
index 0000000000000..5d7e1a5fb9036
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_revert_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_search_holo_light.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_search_holo_light.png
new file mode 100644
index 0000000000000..0350a43b82e7b
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_search_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_share_holo_light_icononly.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_share_holo_light_icononly.png
new file mode 100644
index 0000000000000..a15ef6abc98a4
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_share_holo_light_icononly.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_sortby_holo_light.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_sortby_holo_light.png
new file mode 100644
index 0000000000000..9d724f4de37e8
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_sortby_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_trash_holo_light.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_trash_holo_light.png
new file mode 100644
index 0000000000000..3cc00bbfa23e5
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_trash_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_view_grid.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_view_grid.png
new file mode 100644
index 0000000000000..b6d1a9a1f6eba
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_view_grid.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_menu_view_list.png b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_view_list.png
new file mode 100644
index 0000000000000..714d5e83e3f9a
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_menu_view_list.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_perm_group_system_tools.png b/packages/DocumentsUI/res/drawable-mdpi/ic_perm_group_system_tools.png
new file mode 100644
index 0000000000000..5d9d978dbdf5f
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_perm_group_system_tools.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_root_download.png b/packages/DocumentsUI/res/drawable-mdpi/ic_root_download.png
new file mode 100644
index 0000000000000..110d78d1126ba
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_root_download.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_root_recent.png b/packages/DocumentsUI/res/drawable-mdpi/ic_root_recent.png
new file mode 100644
index 0000000000000..47c4f29fd21fd
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_root_recent.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_root_usb.png b/packages/DocumentsUI/res/drawable-mdpi/ic_root_usb.png
new file mode 100644
index 0000000000000..be47b989ef5b2
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/ic_root_usb.png differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/stat_notify_sdcard_light.png b/packages/DocumentsUI/res/drawable-mdpi/stat_notify_sdcard_light.png
new file mode 100644
index 0000000000000..39dd0fa197a0a
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-mdpi/stat_notify_sdcard_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_accept.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_accept.png
new file mode 100644
index 0000000000000..47398d336219e
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_accept.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_remove_field_holo_light.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_remove_field_holo_light.png
new file mode 100644
index 0000000000000..2959e5ea26066
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_remove_field_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_select_item.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_select_item.png
new file mode 100644
index 0000000000000..2b4891c8453be
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_cab_select_item.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_apk.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_apk.png
new file mode 100644
index 0000000000000..5abdd4c01ada3
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_apk.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_audio.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_audio.png
new file mode 100644
index 0000000000000..7975acd6a012e
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_audio.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_certificate.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_certificate.png
new file mode 100644
index 0000000000000..59a7305916aeb
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_certificate.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_codes.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_codes.png
new file mode 100644
index 0000000000000..468431e09c99d
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_codes.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_compressed.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_compressed.png
new file mode 100644
index 0000000000000..4db47a6eec190
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_compressed.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_contact.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_contact.png
new file mode 100644
index 0000000000000..ded1a00399b66
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_contact.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_event.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_event.png
new file mode 100644
index 0000000000000..46094633651e6
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_event.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_font.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_font.png
new file mode 100644
index 0000000000000..dda7f069b80b5
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_font.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_image.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_image.png
new file mode 100644
index 0000000000000..44b40f70197ac
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_image.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_pdf.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_pdf.png
new file mode 100644
index 0000000000000..a59b10296f8d2
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_pdf.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_presentation.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_presentation.png
new file mode 100644
index 0000000000000..062fe03966560
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_presentation.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_spreadsheet.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_spreadsheet.png
new file mode 100644
index 0000000000000..82bda589d4e11
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_spreadsheet.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_text.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_text.png
new file mode 100644
index 0000000000000..6f15709110fbd
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_text.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_video.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_video.png
new file mode 100644
index 0000000000000..cdd80520e00d5
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_doc_video.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_disconnect.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_disconnect.png
new file mode 100644
index 0000000000000..a96a0f877ce0c
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_disconnect.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_edit_holo.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_edit_holo.png
new file mode 100644
index 0000000000000..4652da60cac38
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_edit_holo.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_new_folder.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_new_folder.png
new file mode 100644
index 0000000000000..449ae53d13a47
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_new_folder.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_revert_holo_light.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_revert_holo_light.png
new file mode 100644
index 0000000000000..ca67f6240e952
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_revert_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_search_holo_light.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_search_holo_light.png
new file mode 100644
index 0000000000000..6811782714413
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_search_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_share_holo_light_icononly.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_share_holo_light_icononly.png
new file mode 100644
index 0000000000000..939ea21224c30
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_share_holo_light_icononly.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_sortby_holo_light.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_sortby_holo_light.png
new file mode 100644
index 0000000000000..5241a30bddb30
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_sortby_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_trash_holo_light.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_trash_holo_light.png
new file mode 100644
index 0000000000000..c985a278f9d6a
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_trash_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_view_grid.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_view_grid.png
new file mode 100644
index 0000000000000..b219d060671a8
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_view_grid.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_view_list.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_view_list.png
new file mode 100644
index 0000000000000..897740eb60d53
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_menu_view_list.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_perm_group_system_tools.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_perm_group_system_tools.png
new file mode 100644
index 0000000000000..5dc35da66bb12
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_perm_group_system_tools.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_root_download.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_root_download.png
new file mode 100644
index 0000000000000..2c30b7f73bc8e
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_root_download.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_root_recent.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_root_recent.png
new file mode 100644
index 0000000000000..a87ccb8f6f446
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_root_recent.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_root_usb.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_root_usb.png
new file mode 100644
index 0000000000000..116da46288f89
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/ic_root_usb.png differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/stat_notify_sdcard_light.png b/packages/DocumentsUI/res/drawable-xhdpi/stat_notify_sdcard_light.png
new file mode 100644
index 0000000000000..671a204f771cd
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xhdpi/stat_notify_sdcard_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_accept.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_accept.png
new file mode 100644
index 0000000000000..ca5b1acd57ba7
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_accept.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_remove_field_holo_light.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_remove_field_holo_light.png
new file mode 100644
index 0000000000000..953438d583bff
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_remove_field_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_select_item.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_select_item.png
new file mode 100644
index 0000000000000..8679156a714e5
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_cab_select_item.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_apk.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_apk.png
new file mode 100644
index 0000000000000..45bce0860b6e7
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_apk.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_audio.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_audio.png
new file mode 100644
index 0000000000000..e23269741f12a
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_audio.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_certificate.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_certificate.png
new file mode 100644
index 0000000000000..efcaa87bee43a
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_certificate.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_codes.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_codes.png
new file mode 100644
index 0000000000000..edaf35e55dff0
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_codes.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_compressed.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_compressed.png
new file mode 100644
index 0000000000000..73f6a1b0e24f8
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_compressed.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_contact.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_contact.png
new file mode 100644
index 0000000000000..7f93d7644baff
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_contact.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_event.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_event.png
new file mode 100644
index 0000000000000..55cb3ecc1e73c
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_event.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_font.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_font.png
new file mode 100644
index 0000000000000..62b612ab7a1f6
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_font.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_image.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_image.png
new file mode 100644
index 0000000000000..1a5c481ab85d7
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_image.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_pdf.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_pdf.png
new file mode 100644
index 0000000000000..29d0b33dab1fb
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_pdf.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_presentation.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_presentation.png
new file mode 100644
index 0000000000000..cec53f2206427
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_presentation.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_spreadsheet.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_spreadsheet.png
new file mode 100644
index 0000000000000..220bddb465e1c
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_spreadsheet.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_text.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_text.png
new file mode 100644
index 0000000000000..76a1bb523b1a2
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_text.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_video.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_video.png
new file mode 100644
index 0000000000000..20e23c9d36f53
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_doc_video.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_disconnect.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_disconnect.png
new file mode 100644
index 0000000000000..aeace05058031
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_disconnect.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_edit_holo.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_edit_holo.png
new file mode 100644
index 0000000000000..71bcdbff6d04a
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_edit_holo.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_new_folder.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_new_folder.png
new file mode 100644
index 0000000000000..073744229b66f
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_new_folder.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_revert_holo_light.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_revert_holo_light.png
new file mode 100644
index 0000000000000..ced603248479b
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_revert_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_search_holo_light.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_search_holo_light.png
new file mode 100644
index 0000000000000..c69d52630e9ce
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_search_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_share_holo_light_icononly.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_share_holo_light_icononly.png
new file mode 100644
index 0000000000000..a3f9a5c8d0a74
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_share_holo_light_icononly.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_sortby_holo_light.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_sortby_holo_light.png
new file mode 100644
index 0000000000000..9810a1e79a948
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_sortby_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_trash_holo_light.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_trash_holo_light.png
new file mode 100644
index 0000000000000..1811be8d45899
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_trash_holo_light.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_view_grid.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_view_grid.png
new file mode 100644
index 0000000000000..2c58b5e48ec49
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_view_grid.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_view_list.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_view_list.png
new file mode 100644
index 0000000000000..cf320cdf56610
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_menu_view_list.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_perm_group_system_tools.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_perm_group_system_tools.png
new file mode 100644
index 0000000000000..cee2b058eca96
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_perm_group_system_tools.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_download.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_download.png
new file mode 100644
index 0000000000000..f9fe2bef66915
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_download.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_recent.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_recent.png
new file mode 100644
index 0000000000000..d95ebb5416d7f
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_recent.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_usb.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_usb.png
new file mode 100644
index 0000000000000..6fbc3c870dac6
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/ic_root_usb.png differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/stat_notify_sdcard_light.png b/packages/DocumentsUI/res/drawable-xxhdpi/stat_notify_sdcard_light.png
new file mode 100644
index 0000000000000..8b8b22732051c
Binary files /dev/null and b/packages/DocumentsUI/res/drawable-xxhdpi/stat_notify_sdcard_light.png differ
diff --git a/packages/DocumentsUI/res/menu/activity.xml b/packages/DocumentsUI/res/menu/activity.xml
index e182159a2ca1b..4d3dc56fb48ae 100644
--- a/packages/DocumentsUI/res/menu/activity.xml
+++ b/packages/DocumentsUI/res/menu/activity.xml
@@ -18,19 +18,19 @@
-
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
index 33d7d6afd18db..ba47037e4bbab 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
@@ -566,9 +566,9 @@ public class DirectoryFragment extends Fragment {
task.execute(uri);
}
} else if (docIcon != 0) {
- icon.setImageDrawable(DocumentInfo.loadIcon(context, docAuthority, docIcon));
+ icon.setImageDrawable(IconUtils.loadPackageIcon(context, docAuthority, docIcon));
} else {
- icon.setImageDrawable(RootsCache.resolveDocumentIcon(context, docMimeType));
+ icon.setImageDrawable(IconUtils.loadMimeIcon(context, docMimeType));
}
title.setText(docDisplayName);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
new file mode 100644
index 0000000000000..b5b10334fc8aa
--- /dev/null
+++ b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
@@ -0,0 +1,242 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.documentsui;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.ProviderInfo;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
+import android.provider.DocumentsContract.Document;
+
+import com.google.android.collect.Maps;
+
+import java.util.HashMap;
+
+public class IconUtils {
+
+ private static HashMap sMimeIcons = Maps.newHashMap();
+
+ private static void add(String mimeType, int resId) {
+ if (sMimeIcons.put(mimeType, resId) != null) {
+ throw new RuntimeException(mimeType + " already registered!");
+ }
+ }
+
+ static {
+ int icon;
+
+ // Package
+ icon = R.drawable.ic_doc_apk;
+ add("application/vnd.android.package-archive", icon);
+
+ // Audio
+ icon = R.drawable.ic_doc_audio;
+ add("application/ogg", icon);
+ add("application/x-flac", icon);
+
+ // Certificate
+ icon = R.drawable.ic_doc_certificate;
+ add("application/pgp-keys", icon);
+ add("application/pgp-signature", icon);
+ add("application/x-pkcs12", icon);
+ add("application/x-pkcs7-certreqresp", icon);
+ add("application/x-pkcs7-crl", icon);
+ add("application/x-x509-ca-cert", icon);
+ add("application/x-x509-user-cert", icon);
+ add("application/x-pkcs7-certificates", icon);
+ add("application/x-pkcs7-mime", icon);
+ add("application/x-pkcs7-signature", icon);
+
+ // Source code
+ icon = R.drawable.ic_doc_codes;
+ add("application/rdf+xml", icon);
+ add("application/rss+xml", icon);
+ add("application/x-object", icon);
+ add("application/xhtml+xml", icon);
+ add("text/css", icon);
+ add("text/html", icon);
+ add("text/xml", icon);
+ add("text/x-c++hdr", icon);
+ add("text/x-c++src", icon);
+ add("text/x-chdr", icon);
+ add("text/x-csrc", icon);
+ add("text/x-dsrc", icon);
+ add("text/x-csh", icon);
+ add("text/x-haskell", icon);
+ add("text/x-java", icon);
+ add("text/x-literate-haskell", icon);
+ add("text/x-pascal", icon);
+ add("text/x-tcl", icon);
+ add("text/x-tex", icon);
+ add("application/x-latex", icon);
+ add("application/x-texinfo", icon);
+ add("application/atom+xml", icon);
+ add("application/ecmascript", icon);
+ add("application/json", icon);
+ add("application/javascript", icon);
+ add("application/xml", icon);
+ add("text/javascript", icon);
+ add("application/x-javascript", icon);
+
+ // Compressed
+ icon = R.drawable.ic_doc_compressed;
+ add("application/mac-binhex40", icon);
+ add("application/rar", icon);
+ add("application/zip", icon);
+ add("application/x-apple-diskimage", icon);
+ add("application/x-debian-package", icon);
+ add("application/x-gtar", icon);
+ add("application/x-iso9660-image", icon);
+ add("application/x-lha", icon);
+ add("application/x-lzh", icon);
+ add("application/x-lzx", icon);
+ add("application/x-stuffit", icon);
+ add("application/x-tar", icon);
+ add("application/x-webarchive", icon);
+ add("application/x-webarchive-xml", icon);
+ add("application/gzip", icon);
+ add("application/x-7z-compressed", icon);
+ add("application/x-deb", icon);
+ add("application/x-rar-compressed", icon);
+
+ // Contact
+ icon = R.drawable.ic_doc_contact;
+ add("text/x-vcard", icon);
+ add("text/vcard", icon);
+
+ // Event
+ icon = R.drawable.ic_doc_event;
+ add("text/calendar", icon);
+ add("text/x-vcalendar", icon);
+
+ // Font
+ icon = R.drawable.ic_doc_font;
+ add("application/x-font", icon);
+ add("application/font-woff", icon);
+ add("application/x-font-woff", icon);
+ add("application/x-font-ttf", icon);
+
+ // Image
+ icon = R.drawable.ic_doc_image;
+ add("application/vnd.oasis.opendocument.graphics", icon);
+ add("application/vnd.oasis.opendocument.graphics-template", icon);
+ add("application/vnd.oasis.opendocument.image", icon);
+ add("application/vnd.stardivision.draw", icon);
+ add("application/vnd.sun.xml.draw", icon);
+ add("application/vnd.sun.xml.draw.template", icon);
+
+ // PDF
+ icon = R.drawable.ic_doc_pdf;
+ add("application/pdf", icon);
+
+ // Presentation
+ icon = R.drawable.ic_doc_presentation;
+ add("application/vnd.ms-powerpoint", icon);
+ add("application/vnd.openxmlformats-officedocument.presentationml.presentation", icon);
+ add("application/vnd.openxmlformats-officedocument.presentationml.template", icon);
+ add("application/vnd.openxmlformats-officedocument.presentationml.slideshow", icon);
+ add("application/vnd.stardivision.impress", icon);
+ add("application/vnd.sun.xml.impress", icon);
+ add("application/vnd.sun.xml.impress.template", icon);
+ add("application/x-kpresenter", icon);
+ add("application/vnd.oasis.opendocument.presentation", icon);
+
+ // Spreadsheet
+ icon = R.drawable.ic_doc_spreadsheet;
+ add("application/vnd.oasis.opendocument.spreadsheet", icon);
+ add("application/vnd.oasis.opendocument.spreadsheet-template", icon);
+ add("application/vnd.ms-excel", icon);
+ add("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", icon);
+ add("application/vnd.openxmlformats-officedocument.spreadsheetml.template", icon);
+ add("application/vnd.stardivision.calc", icon);
+ add("application/vnd.sun.xml.calc", icon);
+ add("application/vnd.sun.xml.calc.template", icon);
+ add("application/x-kspread", icon);
+
+ // Text
+ icon = R.drawable.ic_doc_text;
+ add("application/vnd.oasis.opendocument.text", icon);
+ add("application/vnd.oasis.opendocument.text-master", icon);
+ add("application/vnd.oasis.opendocument.text-template", icon);
+ add("application/vnd.oasis.opendocument.text-web", icon);
+ add("application/msword", icon);
+ add("application/vnd.openxmlformats-officedocument.wordprocessingml.document", icon);
+ add("application/vnd.openxmlformats-officedocument.wordprocessingml.template", icon);
+ add("application/vnd.stardivision.writer", icon);
+ add("application/vnd.stardivision.writer-global", icon);
+ add("application/vnd.sun.xml.writer", icon);
+ add("application/vnd.sun.xml.writer.global", icon);
+ add("application/vnd.sun.xml.writer.template", icon);
+ add("application/x-abiword", icon);
+ add("application/x-kword", icon);
+
+ // Video
+ icon = R.drawable.ic_doc_video;
+ add("application/x-quicktimeplayer", icon);
+ add("application/x-shockwave-flash", icon);
+ }
+
+ public static Drawable loadPackageIcon(Context context, String authority, int icon) {
+ if (icon != 0) {
+ if (authority != null) {
+ final PackageManager pm = context.getPackageManager();
+ final ProviderInfo info = pm.resolveContentProvider(authority, 0);
+ if (info != null) {
+ return pm.getDrawable(info.packageName, icon, info.applicationInfo);
+ }
+ } else {
+ return context.getResources().getDrawable(icon);
+ }
+ }
+ return null;
+ }
+
+ public static Drawable loadMimeIcon(Context context, String mimeType) {
+ final Resources res = context.getResources();
+
+ if (Document.MIME_TYPE_DIR.equals(mimeType)) {
+ return res.getDrawable(R.drawable.ic_dir);
+ }
+
+ // Look for exact match first
+ Integer resId = sMimeIcons.get(mimeType);
+ if (resId != null) {
+ return res.getDrawable(resId);
+ }
+
+ if (mimeType == null) {
+ // TODO: generic icon?
+ return null;
+ }
+
+ // Otherwise look for partial match
+ final String typeOnly = mimeType.split("/")[0];
+ if ("audio".equals(typeOnly)) {
+ return res.getDrawable(R.drawable.ic_doc_audio);
+ } else if ("image".equals(typeOnly)) {
+ return res.getDrawable(R.drawable.ic_doc_image);
+ } else if ("text".equals(typeOnly)) {
+ return res.getDrawable(R.drawable.ic_doc_text);
+ } else if ("video".equals(typeOnly)) {
+ return res.getDrawable(R.drawable.ic_doc_video);
+ } else {
+ // TODO: generic icon?
+ return null;
+ }
+ }
+}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
index 0b10f197f82bb..0625011f9d94b 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
@@ -206,23 +206,4 @@ public class RootsCache {
}
return matching;
}
-
- @GuardedBy("ActivityThread")
- public static Drawable resolveDocumentIcon(Context context, String mimeType) {
- if (Document.MIME_TYPE_DIR.equals(mimeType)) {
- return context.getResources().getDrawable(R.drawable.ic_dir);
- } else {
- final PackageManager pm = context.getPackageManager();
- final Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setType(mimeType);
-
- final ResolveInfo activityInfo = pm.resolveActivity(
- intent, PackageManager.MATCH_DEFAULT_ONLY);
- if (activityInfo != null) {
- return activityInfo.loadIcon(pm);
- } else {
- return null;
- }
- }
- }
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java b/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java
index 8b0a97489a1e1..dc5b64a826060 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java
@@ -74,7 +74,7 @@ public class SaveFragment extends Fragment {
final ImageView icon = (ImageView) view.findViewById(android.R.id.icon);
icon.setImageDrawable(
- RootsCache.resolveDocumentIcon(context, getArguments().getString(EXTRA_MIME_TYPE)));
+ IconUtils.loadMimeIcon(context, getArguments().getString(EXTRA_MIME_TYPE)));
mDisplayName = (EditText) view.findViewById(android.R.id.title);
mDisplayName.addTextChangedListener(mDisplayNameWatcher);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
index 98742655edb78..a1489a53b4f88 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
@@ -18,11 +18,7 @@ package com.android.documentsui.model;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.content.pm.ProviderInfo;
import android.database.Cursor;
-import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
@@ -173,25 +169,6 @@ public class DocumentInfo implements Durable {
return (flags & Document.FLAG_SUPPORTS_DELETE) != 0;
}
- public Drawable loadIcon(Context context) {
- return loadIcon(context, uri.getAuthority(), icon);
- }
-
- public static Drawable loadIcon(Context context, String authority, int icon) {
- if (icon != 0) {
- if (authority != null) {
- final PackageManager pm = context.getPackageManager();
- final ProviderInfo info = pm.resolveContentProvider(authority, 0);
- if (info != null) {
- return pm.getDrawable(info.packageName, icon, info.applicationInfo);
- }
- } else {
- return context.getResources().getDrawable(icon);
- }
- }
- return null;
- }
-
public static String getCursorString(Cursor cursor, String columnName) {
final int index = cursor.getColumnIndex(columnName);
return (index != -1) ? cursor.getString(index) : null;
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
index a63f2695c088a..c3698a01bf326 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
@@ -25,6 +25,8 @@ import android.database.Cursor;
import android.graphics.drawable.Drawable;
import android.provider.DocumentsContract.Root;
+import com.android.documentsui.IconUtils;
+
import java.util.Objects;
/**
@@ -63,7 +65,7 @@ public class RootInfo {
}
public Drawable loadIcon(Context context) {
- return DocumentInfo.loadIcon(context, authority, icon);
+ return IconUtils.loadPackageIcon(context, authority, icon);
}
@Override