MediaScanner: Fix UnsupportedOperationException when scanning internal media

The media scanner was crashing while tring to insert genre data in the internal
media database, which does not support genres.
This resulted in some or all of the built in ringtones being unavailable

Bug: 5124718

Change-Id: Ib306348dd9808e59477b327b4adcb413957d8d24
Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
Mike Lockwood
2011-08-05 19:20:44 -04:00
parent 0dc8bb25d2
commit 43b076bb75

View File

@ -307,7 +307,7 @@ public class MediaScanner
private Uri mThumbsUri;
private Uri mPlaylistsUri;
private Uri mFilesUri;
private boolean mProcessPlaylists;
private boolean mProcessPlaylists, mProcessGenres;
private int mMtpObjectHandle;
private final String mExternalStoragePath;
@ -612,7 +612,8 @@ public class MediaScanner
mAlbum = value.trim();
} else if (name.equalsIgnoreCase("composer") || name.startsWith("composer;")) {
mComposer = value.trim();
} else if (name.equalsIgnoreCase("genre") || name.startsWith("genre;")) {
} else if (mProcessGenres &&
(name.equalsIgnoreCase("genre") || name.startsWith("genre;"))) {
mGenre = getGenreName(value);
} else if (name.equalsIgnoreCase("year") || name.startsWith("year;")) {
mYear = parseSubstring(value, 0, 0);
@ -1151,6 +1152,7 @@ public class MediaScanner
if (!volumeName.equals("internal")) {
// we only support playlists on external media
mProcessPlaylists = true;
mProcessGenres = true;
mPlaylistsUri = Playlists.getContentUri(volumeName);
mCaseInsensitivePaths = true;