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:
@ -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;
|
||||
|
Reference in New Issue
Block a user