From 1e855d98aa979b30cee9e096cf6a1cb54df0367b Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Tue, 26 Jun 2012 16:31:41 -0700 Subject: [PATCH] MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes Bug: 6684451 Change-Id: I90204550ccfcd1b7a5b1973bed2a88e934aae053 Signed-off-by: Mike Lockwood --- media/java/android/mtp/MtpDatabase.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java index c365e4c77ad57..7532d79233b7d 100755 --- a/media/java/android/mtp/MtpDatabase.java +++ b/media/java/android/mtp/MtpDatabase.java @@ -933,10 +933,10 @@ public class MtpDatabase { // recursive case - delete all children first Uri uri = Files.getMtpObjectsUri(mVolumeName); int count = mMediaProvider.delete(uri, - // the 'like' makes it use the index, the 'lower()' makes it correct - // when the path contains sqlite wildcard characters - "_data LIKE ? AND lower(substr(_data,?))=lower(?)", - new String[] { path + "/%", "" + path.length() + 1, path + "/"}); + // the 'like' makes it use the index, the 'lower()' makes it correct + // when the path contains sqlite wildcard characters + "_data LIKE ?1 AND lower(substr(_data,1,?2))=lower(?3)", + new String[] { path + "/%",Integer.toString(path.length() + 1), path + "/"}); } Uri uri = Files.getMtpObjectsUri(mVolumeName, handle);