From 33f49c8377ea9ffebaca9c398fb3c0f9585f9fe8 Mon Sep 17 00:00:00 2001 From: Marco Nelissen Date: Tue, 11 May 2010 13:09:06 -0700 Subject: [PATCH] Don't clear the _data column in the audio_meta table, since it isn't needed, and causes a sqlite constraint exception. Bug 2671792. Change-Id: Ie6e5d0369c3750739fa155e651be4d87c016a41f --- media/java/android/media/MediaScanner.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java index e80ece61e57db..013f8fcaddfc5 100644 --- a/media/java/android/media/MediaScanner.java +++ b/media/java/android/media/MediaScanner.java @@ -869,12 +869,15 @@ public class MediaScanner values.put(MediaStore.Images.ImageColumns.DATA, ""); String [] pathSpec = new String[] {path + '%'}; try { + // These tables have DELETE_FILE triggers that delete the file from the + // sd card when deleting the database entry. We don't want to do this in + // this case, since it would cause those files to be removed if a .nomedia + // file was added after the fact, when in that case we only want the database + // entries to be removed. mMediaProvider.update(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values, MediaStore.Images.ImageColumns.DATA + " LIKE ?", pathSpec); mMediaProvider.update(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values, MediaStore.Images.ImageColumns.DATA + " LIKE ?", pathSpec); - mMediaProvider.update(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values, - MediaStore.Images.ImageColumns.DATA + " LIKE ?", pathSpec); } catch (RemoteException e) { throw new RuntimeException(); }