aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjaffersulaiman <jaffersulaiman.mh@sasken.com>2016-03-30 15:03:43 +0530
committerjaffersulaiman <jaffersulaiman.mh@sasken.com>2016-03-30 15:48:53 +0530
commitde3fb3d06544e81544122382c7b29684884d2f5c (patch)
tree6ba59980714a3f770e93ac23c6ee351a17cd46b8
parentef48c44a1f441bd4f3f080fe86d75b509e9b90bd (diff)
downloadandroid_packages_apps_CMFileManager-de3fb3d06544e81544122382c7b29684884d2f5c.tar.gz
android_packages_apps_CMFileManager-de3fb3d06544e81544122382c7b29684884d2f5c.tar.bz2
android_packages_apps_CMFileManager-de3fb3d06544e81544122382c7b29684884d2f5c.zip
Default file manager fails to search files with Russian file name
Changed Find command argument name to iname in command_list xml. square brackets and upper case format removed from searchHelper class Bug: CYNGNOS-2273 Change-Id: I40fe203929656055e209f10f6284c0b39634a6fb
-rw-r--r--res/xml/command_list.xml2
-rw-r--r--src/com/cyanogenmod/filemanager/commands/java/FindCommand.java2
-rw-r--r--src/com/cyanogenmod/filemanager/commands/secure/FindCommand.java2
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java2
-rw-r--r--src/com/cyanogenmod/filemanager/util/SearchHelper.java22
5 files changed, 6 insertions, 24 deletions
diff --git a/res/xml/command_list.xml b/res/xml/command_list.xml
index 6b399a4c..5fe0608d 100644
--- a/res/xml/command_list.xml
+++ b/res/xml/command_list.xml
@@ -50,7 +50,7 @@
<!-- List/Find/Info -->
<command commandId="ls" commandPath="/system/bin/ls" commandArgs="%1$s 1&gt; /dev/null &amp;&amp; /system/bin/stat -t %1$s.* %1$s* 2&gt; /dev/null" />
<command commandId="fileinfo" commandPath="/system/bin/stat" commandArgs="-t %1$s" />
- <command commandId="find" commandPath="/system/bin/find" commandArgs="%1$s \\( -name %2$s -o -name %3$s -o -name %4$s -o -name %5$s -o -name %6$s \\) -exec /system/bin/stat -t {} 2&gt;&amp;1 \\;" />
+ <command commandId="find" commandPath="/system/bin/find" commandArgs="%1$s \\( -iname %2$s -o -name %3$s -o -name %4$s -o -name %5$s -o -name %6$s \\) -exec /system/bin/stat -t {} 2&gt;&amp;1 \\;" />
<command commandId="quickfoldersearch" commandPath="/system/bin/ls" commandArgs="-aFd %1$s.* %1$s* 2&gt; /dev/null | /system/bin/grep -e '^d' -e '^ld' | /system/bin/cut -d&quot; &quot; -f2-" />
<command commandId="readlink" commandPath="/system/bin/ls" commandArgs="%1$s 1&gt; /dev/null &amp;&amp; /system/bin/stat -t -L %1$s 2&gt;&amp;1" />
diff --git a/src/com/cyanogenmod/filemanager/commands/java/FindCommand.java b/src/com/cyanogenmod/filemanager/commands/java/FindCommand.java
index e4f1b08c..0dcdfe8d 100644
--- a/src/com/cyanogenmod/filemanager/commands/java/FindCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/java/FindCommand.java
@@ -268,7 +268,7 @@ public class FindCommand extends Program implements FindExecutable {
String[] args = new String[query.getSlotsCount()];
int cc = query.getSlotsCount();
for (int i = 0; i < cc; i++) {
- args[i] = SearchHelper.toIgnoreCaseRegExp(query.getSlot(i), true);
+ args[i] = SearchHelper.toRegExp(query.getSlot(i), true);
}
return args;
}
diff --git a/src/com/cyanogenmod/filemanager/commands/secure/FindCommand.java b/src/com/cyanogenmod/filemanager/commands/secure/FindCommand.java
index 35289e5a..11eac1ab 100644
--- a/src/com/cyanogenmod/filemanager/commands/secure/FindCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/secure/FindCommand.java
@@ -276,7 +276,7 @@ public class FindCommand extends Program implements FindExecutable {
String[] args = new String[query.getSlotsCount()];
int cc = query.getSlotsCount();
for (int i = 0; i < cc; i++) {
- args[i] = SearchHelper.toIgnoreCaseRegExp(query.getSlot(i), true);
+ args[i] = SearchHelper.toRegExp(query.getSlot(i), true);
}
return args;
}
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java
index dfad941f..cb8e4ac8 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java
@@ -193,7 +193,7 @@ public class FindCommand extends AsyncResultProgram implements FindExecutable {
args[0] = directory;
int cc = query.getSlotsCount();
for (int i = 0; i < cc; i++) {
- args[i + 1] = SearchHelper.toIgnoreCaseRegExp(query.getSlot(i), false);
+ args[i + 1] = SearchHelper.toRegExp(query.getSlot(i), false);
}
return args;
}
diff --git a/src/com/cyanogenmod/filemanager/util/SearchHelper.java b/src/com/cyanogenmod/filemanager/util/SearchHelper.java
index 55ff5e8f..ee6cb799 100644
--- a/src/com/cyanogenmod/filemanager/util/SearchHelper.java
+++ b/src/com/cyanogenmod/filemanager/util/SearchHelper.java
@@ -58,7 +58,7 @@ public final class SearchHelper {
* @return String The regular expressions of the query to match an ignore case search
*/
@SuppressWarnings("boxing")
- public static String toIgnoreCaseRegExp(final String query, boolean javaRegExp) {
+ public static String toRegExp(final String query, boolean javaRegExp) {
//Check that all is correct
if (query == null || query.trim().length() == 0) {
return ""; //$NON-NLS-1$
@@ -70,28 +70,10 @@ public final class SearchHelper {
q = prepareQuery(q);
}
- //Convert the string to lower and upper
- final String lowerCase = q.toLowerCase(Locale.ROOT);
- final String upperCase = q.toUpperCase(Locale.ROOT);
-
- //Create the regular expression filter
- StringBuffer sb = new StringBuffer();
- int cc = lowerCase.length();
- for (int i = 0; i < cc; i++) {
- char lower = lowerCase.charAt(i);
- char upper = upperCase.charAt(i);
- if (lower != upper) {
- //Convert to expression
- sb.append(String.format("[%s%s]", lower, upper)); //$NON-NLS-1$
- } else {
- //Not need to convert
- sb.append(lower);
- }
- }
return String.format(
"%s%s%s", //$NON-NLS-1$;
javaRegExp ? REGEXP_WILCARD_JAVA : REGEXP_WILCARD,
- sb.toString(), javaRegExp ? REGEXP_WILCARD_JAVA : REGEXP_WILCARD);
+ q, javaRegExp ? REGEXP_WILCARD_JAVA : REGEXP_WILCARD);
}
/**