Merge "Launcher3: Can't search out local app by Chinese" am: 7c35c64a9d am: fa5511133a
am: 788000b0ec

Change-Id: I761d2fb3c03a264fb7d3f77b9b182e05ab59f797
diff --git a/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithm.java b/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithm.java
index 06cf9aa..136d369 100644
--- a/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithm.java
+++ b/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithm.java
@@ -130,7 +130,8 @@
                 // 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 18570de..e9c2ebc 100644
--- a/tests/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithmTest.java
+++ b/tests/src/com/android/launcher3/allapps/DefaultAppSearchAlgorithmTest.java
@@ -71,6 +71,10 @@
         // 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) {