Merge "AlbumArt image of songs in the non-primary storage root dir are images in the same dir"
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java
index c5d15b1..be08bd6 100644
--- a/src/com/android/providers/media/MediaProvider.java
+++ b/src/com/android/providers/media/MediaProvider.java
@@ -4421,6 +4421,17 @@
msg.sendToTarget();
}
+ //Return true if the artPath is the dir as it in mExternalStoragePaths
+ //for multi storage support
+ private static boolean isRootStorageDir(String artPath) {
+ for ( int i = 0; i < mExternalStoragePaths.length; i++) {
+ if ((mExternalStoragePaths[i] != null) &&
+ (artPath.equalsIgnoreCase(mExternalStoragePaths[i])))
+ return true;
+ }
+ return false;
+ }
+
// Extract compressed image data from the audio file itself or, if that fails,
// look for a file "AlbumArt.jpg" in the containing directory.
private static byte[] getCompressedAlbumArt(Context context, String path) {
@@ -4449,7 +4460,6 @@
if (lastSlash > 0) {
String artPath = path.substring(0, lastSlash);
- String sdroot = mExternalStoragePaths[0];
String dwndir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
@@ -4457,7 +4467,7 @@
synchronized (sFolderArtMap) {
if (sFolderArtMap.containsKey(artPath)) {
bestmatch = sFolderArtMap.get(artPath);
- } else if (!artPath.equalsIgnoreCase(sdroot) &&
+ } else if (!isRootStorageDir(artPath) &&
!artPath.equalsIgnoreCase(dwndir)) {
File dir = new File(artPath);
String [] entrynames = dir.list();