Loading src/com/android/launcher3/allapps/search/DefaultAppSearchAlgorithm.java +17 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,10 @@ public class DefaultAppSearchAlgorithm implements SearchAlgorithm { return false; } if (requestSimpleFuzzySearch(query)) { return title.toLowerCase().contains(query); } int lastType; int thisType = Character.UNASSIGNED; int nextType = Character.getType(title.codePointAt(0)); Loading Loading @@ -181,4 +185,17 @@ public class DefaultAppSearchAlgorithm implements SearchAlgorithm { return new StringMatcher(); } } private static boolean requestSimpleFuzzySearch(String s) { for (int i = 0; i < s.length(); ) { int codepoint = s.codePointAt(i); i += Character.charCount(codepoint); switch (Character.UnicodeScript.of(codepoint)) { case HAN: //Character.UnicodeScript.HAN: use String.contains to match return true; } } return false; } } tests/src/com/android/launcher3/allapps/search/DefaultAppSearchAlgorithmTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -68,8 +68,8 @@ public class DefaultAppSearchAlgorithmTest { assertTrue(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "电", MATCHER)); assertTrue(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "电子", MATCHER)); assertFalse(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "子", MATCHER)); assertFalse(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "邮件", MATCHER)); assertTrue(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "子", MATCHER)); assertTrue(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "邮件", MATCHER)); assertFalse(DefaultAppSearchAlgorithm.matches(getInfo("Bot"), "ba", MATCHER)); assertFalse(DefaultAppSearchAlgorithm.matches(getInfo("bot"), "ba", MATCHER)); Loading Loading
src/com/android/launcher3/allapps/search/DefaultAppSearchAlgorithm.java +17 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,10 @@ public class DefaultAppSearchAlgorithm implements SearchAlgorithm { return false; } if (requestSimpleFuzzySearch(query)) { return title.toLowerCase().contains(query); } int lastType; int thisType = Character.UNASSIGNED; int nextType = Character.getType(title.codePointAt(0)); Loading Loading @@ -181,4 +185,17 @@ public class DefaultAppSearchAlgorithm implements SearchAlgorithm { return new StringMatcher(); } } private static boolean requestSimpleFuzzySearch(String s) { for (int i = 0; i < s.length(); ) { int codepoint = s.codePointAt(i); i += Character.charCount(codepoint); switch (Character.UnicodeScript.of(codepoint)) { case HAN: //Character.UnicodeScript.HAN: use String.contains to match return true; } } return false; } }
tests/src/com/android/launcher3/allapps/search/DefaultAppSearchAlgorithmTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -68,8 +68,8 @@ public class DefaultAppSearchAlgorithmTest { assertTrue(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "电", MATCHER)); assertTrue(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "电子", MATCHER)); assertFalse(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "子", MATCHER)); assertFalse(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "邮件", MATCHER)); assertTrue(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "子", MATCHER)); assertTrue(DefaultAppSearchAlgorithm.matches(getInfo("电子邮件"), "邮件", MATCHER)); assertFalse(DefaultAppSearchAlgorithm.matches(getInfo("Bot"), "ba", MATCHER)); assertFalse(DefaultAppSearchAlgorithm.matches(getInfo("bot"), "ba", MATCHER)); Loading