Add a type column to show user-friendly type info.

Also add a special map from mime type to user friendly strings.

Test: Auto tests & smoke tests.
Bug: 34844878
Change-Id: I773f2bae524b7dffc6eeda1a1e92330b5ad64473
diff --git a/src/com/android/documentsui/DocumentsApplication.java b/src/com/android/documentsui/DocumentsApplication.java
index e0b2559..4c9c65f 100644
--- a/src/com/android/documentsui/DocumentsApplication.java
+++ b/src/com/android/documentsui/DocumentsApplication.java
@@ -28,6 +28,7 @@
 import android.os.RemoteException;
 import android.text.format.DateUtils;
 
+import com.android.documentsui.base.Lookup;
 import com.android.documentsui.clipping.ClipStorage;
 import com.android.documentsui.clipping.ClipStore;
 import com.android.documentsui.clipping.DocumentClipper;
@@ -41,6 +42,7 @@
     private ClipStorage mClipStore;
     private DocumentClipper mClipper;
     private DragAndDropManager mDragAndDropManager;
+    private Lookup<String, String> mFileTypeLookup;
 
     public static ProvidersCache getProvidersCache(Context context) {
         return ((DocumentsApplication) context.getApplicationContext()).mProviders;
@@ -74,6 +76,10 @@
         return ((DocumentsApplication) context.getApplicationContext()).mDragAndDropManager;
     }
 
+    public static Lookup<String, String> getFileTypeLookup(Context context) {
+        return ((DocumentsApplication) context.getApplicationContext()).mFileTypeLookup;
+    }
+
     @Override
     public void onCreate() {
         super.onCreate();
@@ -93,6 +99,8 @@
 
         mDragAndDropManager = DragAndDropManager.create(this, mClipper);
 
+        mFileTypeLookup = new FileTypeMap(this);
+
         final IntentFilter packageFilter = new IntentFilter();
         packageFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
         packageFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);