From ad19a3225d1558eb4d9f77e3d92f8baca5f59c66 Mon Sep 17 00:00:00 2001 From: yingrenw Date: Thu, 6 Jul 2017 18:37:35 +0800 Subject: [PATCH] Launcher3: Can't search out local app by Chinese Description: Chinese content type is Character.OTHER_LETTER. When key matches,it check the content type. And if type is Character.OTHER_LETTER, it doesn't support search and break. When the content type is Character.OTHER_LETTER, make it work normally. Change-Id: I3713f24c9206fe16a8da2a23e6c90d68079dd533 --- .../android/launcher3/allapps/DefaultAppSearchAlgorithm.java | 3 ++- .../launcher3/allapps/DefaultAppSearchAlgorithmTest.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithm.java b/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithm.java index 06cf9aa71d..136d369388 100644 --- a/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithm.java +++ b/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithm.java @@ -130,7 +130,8 @@ public class DefaultAppSearchAlgorithm { // Always a break point for a symbol return true; default: - return false; + // Always a break point at first character + return prevType == Character.UNASSIGNED; } } } diff --git a/tests/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithmTest.java b/tests/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithmTest.java index 18570de5b3..e9c2ebc745 100644 --- a/tests/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithmTest.java +++ b/tests/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithmTest.java @@ -71,6 +71,10 @@ public class DefaultAppSearchAlgorithmTest extends InstrumentationTestCase { // match lower case words assertTrue(mAlgorithm.matches(getInfo("elephant"), "e")); + assertTrue(mAlgorithm.matches(getInfo("电子邮件"), "电")); + assertTrue(mAlgorithm.matches(getInfo("电子邮件"), "电子")); + assertFalse(mAlgorithm.matches(getInfo("电子邮件"), "子")); + assertFalse(mAlgorithm.matches(getInfo("电子邮件"), "邮件")); } private AppInfo getInfo(String title) {