Fix argument references
The bucket id and display names references were off by one, resulting
in brokenness when renaming a directory via MTP
b/10835798
b/11655617
Change-Id: I9e6c510027a37deed55887393e388805f06b86b0
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java
index 98ba797..4528c56 100755
--- a/src/com/android/providers/media/MediaProvider.java
+++ b/src/com/android/providers/media/MediaProvider.java
@@ -4171,8 +4171,11 @@
sGetTableAndWhereParam.where, whereArgs);
if (count > 0) {
// update the paths of any files and folders contained in the directory
- Object[] bindArgs = new Object[] {newPath, oldPath.length() + 1,
- oldPath + "/", oldPath + "0",
+ Object[] bindArgs = new Object[] {
+ newPath,
+ oldPath.length() + 1,
+ oldPath + "/",
+ oldPath + "0",
// update bucket_display_name and bucket_id based on new path
f.getName(),
f.toString().toLowerCase().hashCode()
@@ -4180,8 +4183,8 @@
helper.mNumUpdates++;
db.execSQL("UPDATE files SET _data=?1||SUBSTR(_data, ?2)" +
// also update bucket_display_name
- ",bucket_display_name=?6" +
- ",bucket_id=?7" +
+ ",bucket_display_name=?5" +
+ ",bucket_id=?6" +
" WHERE _data >= ?3 AND _data < ?4;",
bindArgs);
}