am fe13eebe: am 9d14e3ea: am 9b8b417c: Merge "When updating existing entries in the media database, don\'t update the is_music, is_ringtone, etc columns. This ensures that custom ringtones will still be shown in the ringtone picker after a rescan. Bug 2594125 Change-I
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index f845fec1..e80ece6 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -714,7 +714,12 @@
}
}
}
- if (isAudio) {
+ long rowId = entry.mRowId;
+ if (isAudio && rowId == 0) {
+ // Only set these for new entries. For existing entries, they
+ // may have been modified later, and we want to keep the current
+ // values so that custom ringtones still show up in the ringtone
+ // picker.
values.put(Audio.Media.IS_RINGTONE, ringtones);
values.put(Audio.Media.IS_NOTIFICATION, notifications);
values.put(Audio.Media.IS_ALARM, alarms);
@@ -764,7 +769,6 @@
}
Uri result = null;
- long rowId = entry.mRowId;
if (rowId == 0) {
// new file, insert it
result = mMediaProvider.insert(tableUri, values);