Media Provider and MTP now use emulated /mnt/sdcard instead of /data/media

This rips out some complicated code that was added since gingerbread
that is no longer necessary.

Change-Id: Iab5ecb7314c06221475ce01ef483f34f17003b06
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index 20cff84..d5fc1d3 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -292,7 +292,6 @@
     private boolean mProcessPlaylists, mProcessGenres;
     private int mMtpObjectHandle;
 
-    private final String mMediaStoragePath;
     private final String mExternalStoragePath;
 
     // used when scanning the image database so we know whether we have to prune
@@ -365,12 +364,6 @@
 
         setDefaultRingtoneFileNames();
 
-        String mediaStoragePath = SystemProperties.get("ro.media.storage");
-        if (mediaStoragePath != null &&  mediaStoragePath.length() > 0) {
-            mMediaStoragePath = mediaStoragePath;
-        } else {
-            mMediaStoragePath = null;
-        }
         mExternalStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath();
     }
 
@@ -390,13 +383,6 @@
         return prop != null && prop.equals("true");
     }
 
-    private final String mediaToExternalPath(String path) {
-        if (mMediaStoragePath != null && path.startsWith(mMediaStoragePath)) {
-            path = mExternalStoragePath + path.substring(mMediaStoragePath.length());
-        }
-        return path;
-    }
-
     private class MyMediaScannerClient implements MediaScannerClient {
 
         private String mArtist;
@@ -471,9 +457,7 @@
                 }
             }
 
-            // MediaProvider uses external variant of path for _data, so we need to match
-            // against that path instead.
-            String key = mediaToExternalPath(path);
+            String key = path;
             if (mCaseInsensitivePaths) {
                 key = path.toLowerCase();
             }
@@ -886,8 +870,6 @@
         }
 
         public void addNoMediaFolder(String path) {
-            path = mediaToExternalPath(path);
-
             ContentValues values = new ContentValues();
             values.put(MediaStore.Images.ImageColumns.DATA, "");
             String [] pathSpec = new String[] {path + '%'};
@@ -946,10 +928,6 @@
         }
 
         if (filePath != null) {
-            // MediaProvider uses external variant of path for _data, so we need to query
-            // using that path instead.
-            filePath = mediaToExternalPath(filePath);
-
             // query for only one file
             where = Files.FileColumns.DATA + "=?";
             selectionArgs = new String[] { filePath };
@@ -1007,10 +985,6 @@
     private boolean inScanDirectory(String path, String[] directories) {
         for (int i = 0; i < directories.length; i++) {
             String directory = directories[i];
-            if (mExternalStoragePath != null && directory.equals(mMediaStoragePath)) {
-                // database paths use external storage prefix
-                directory = mExternalStoragePath;
-            }
             if (path.startsWith(directory)) {
                 return true;
             }
@@ -1217,9 +1191,7 @@
                 // build file cache so we can look up tracks in the playlist
                 prescan(null, true);
 
-                // MediaProvider uses external variant of path for _data, so we need to match
-                // against that path instead.
-                String key = mediaToExternalPath(path);
+                String key = path;
                 if (mCaseInsensitivePaths) {
                     key = path.toLowerCase();
                 }
diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java
index 43460ae..ac476ff 100644
--- a/media/java/android/mtp/MtpDatabase.java
+++ b/media/java/android/mtp/MtpDatabase.java
@@ -50,7 +50,6 @@
     private final String mVolumeName;
     private final Uri mObjectsUri;
     private final String mMediaStoragePath;
-    private final String mExternalStoragePath;
 
     // cached property groups for single properties
     private final HashMap<Integer, MtpPropertyGroup> mPropertyGroupsByProperty
@@ -113,7 +112,6 @@
         mMediaProvider = context.getContentResolver().acquireProvider("media");
         mVolumeName = volumeName;
         mMediaStoragePath = storagePath;
-        mExternalStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath();
         mObjectsUri = Files.getMtpObjectsUri(volumeName);
         mMediaScanner = new MediaScanner(context);
         openDevicePropertiesDatabase(context);
@@ -128,16 +126,6 @@
         }
     }
 
-    private String externalToMediaPath(String path) {
-        // convert external storage path to media path
-        if (path != null && mMediaStoragePath != null
-                && mExternalStoragePath != null
-                && path.startsWith(mExternalStoragePath)) {
-            path = mMediaStoragePath + path.substring(mExternalStoragePath.length());
-        }
-        return path;
-    }
-
     private void openDevicePropertiesDatabase(Context context) {
         mDevicePropDb = context.openOrCreateDatabase("device-properties", Context.MODE_PRIVATE, null);
         int version = mDevicePropDb.getVersion();
@@ -525,7 +513,7 @@
         try {
             c = mMediaProvider.query(mObjectsUri, PATH_PROJECTION, ID_WHERE, whereArgs, null);
             if (c != null && c.moveToNext()) {
-                path = externalToMediaPath(c.getString(1));
+                path = c.getString(1);
             }
         } catch (RemoteException e) {
             Log.e(TAG, "RemoteException in getObjectFilePath", e);
@@ -707,7 +695,7 @@
             c = mMediaProvider.query(mObjectsUri, PATH_SIZE_FORMAT_PROJECTION,
                             ID_WHERE, new String[] {  Integer.toString(handle) }, null);
             if (c != null && c.moveToNext()) {
-                String path = externalToMediaPath(c.getString(1));
+                String path = c.getString(1);
                 path.getChars(0, path.length(), outFilePath, 0);
                 outFilePath[path.length()] = 0;
                 outFileLengthFormat[0] = c.getLong(2);