summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@google.com>2014-10-27 11:22:20 -0700
committerMike Lockwood <lockwood@google.com>2014-10-27 11:22:20 -0700
commit407c6ddc5ac8eced85ce82fae59a75ac27a989a5 (patch)
tree86da3352f6acad925c67df5fb5722155ba99b41d /src/com/android/providers
parente11db3f7aa88aa1ec23a8d4da0d14145da1fadf9 (diff)
downloadandroid_packages_providers_MediaProvider-407c6ddc5ac8eced85ce82fae59a75ac27a989a5.tar.gz
android_packages_providers_MediaProvider-407c6ddc5ac8eced85ce82fae59a75ac27a989a5.tar.bz2
android_packages_providers_MediaProvider-407c6ddc5ac8eced85ce82fae59a75ac27a989a5.zip
Reset album and artist tables due to change in how collation keys are calculated.
Bug: 18118488 Change-Id: If1d12def4598be9cbf86b8550061f4d075be9717
Diffstat (limited to 'src/com/android/providers')
-rwxr-xr-xsrc/com/android/providers/media/MediaProvider.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java
index 4e67ed8d..990bd710 100755
--- a/src/com/android/providers/media/MediaProvider.java
+++ b/src/com/android/providers/media/MediaProvider.java
@@ -1858,6 +1858,16 @@ public class MediaProvider extends ContentProvider {
+ " AND datetaken<date_modified*5;");
}
+ if (fromVersion < 800) {
+ // Delete albums and artists, then clear the modification time on songs, which
+ // will cause the media scanner to rescan everything, rebuilding the artist and
+ // album tables along the way, while preserving playlists.
+ // We need this rescan because ICU also changed, and now generates different
+ // collation keys
+ db.execSQL("DELETE from albums");
+ db.execSQL("DELETE from artists");
+ db.execSQL("UPDATE files SET date_modified=0;");
+ }
sanityCheck(db, fromVersion);
long elapsedSeconds = (SystemClock.currentTimeMicro() - startTime) / 1000000;