From a8ac78b3925a0b463c2df37a7c83d8f15222a601 Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Wed, 28 May 2014 15:56:30 -0700 Subject: [PATCH] Search - prepare for better normalization - code refactoring See bug: #15314612 Search - need to be able to search and have results with non accentuated chars Change-Id: Ic3eb94c0effccf6592c02b3eaa78bf26a2d09714 --- src/com/android/settings/search/Index.java | 38 ++++++++-------------- 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/src/com/android/settings/search/Index.java b/src/com/android/settings/search/Index.java index adddb399549..64ef98548d6 100644 --- a/src/com/android/settings/search/Index.java +++ b/src/com/android/settings/search/Index.java @@ -914,31 +914,13 @@ public class Index { String intentAction, String intentTargetPackage, String intentTargetClass, boolean enabled, String key) { - String updatedTitle; - if (title != null) { - updatedTitle = title.replaceAll(NON_BREAKING_HYPHEN, HYPHEN); - } - else { - updatedTitle = EMPTY; - } + String updatedTitle = normalizeHyphen(title); + String updatedSummaryOn = normalizeHyphen(summaryOn); + String updatedSummaryOff = normalizeHyphen(summaryOff); - String updatedSummaryOn; - if (summaryOn != null) { - updatedSummaryOn = summaryOn.replaceAll(NON_BREAKING_HYPHEN, HYPHEN); - } else { - updatedSummaryOn = EMPTY; - } - - String updatedSummaryOff; - if (summaryOff != null) { - updatedSummaryOff = summaryOff.replaceAll(NON_BREAKING_HYPHEN, HYPHEN); - } else { - updatedSummaryOff = EMPTY; - } - - String normalizedTitle = updatedTitle.replaceAll(HYPHEN, EMPTY); - String normalizedSummaryOn = updatedSummaryOn.replaceAll(HYPHEN, EMPTY); - String normalizedSummaryOff = updatedSummaryOff.replaceAll(HYPHEN, EMPTY); + String normalizedTitle = normalizeString(updatedTitle); + String normalizedSummaryOn = normalizeString(updatedSummaryOn); + String normalizedSummaryOff = normalizeString(updatedSummaryOff); updateOneRow(database, locale, updatedTitle, normalizedTitle, updatedSummaryOn, normalizedSummaryOn, @@ -947,6 +929,14 @@ public class Index { rank, keywords, intentAction, intentTargetPackage, intentTargetClass, enabled, key); } + private static String normalizeHyphen(String input) { + return (input != null) ? input.replaceAll(NON_BREAKING_HYPHEN, HYPHEN) : EMPTY; + } + + private static String normalizeString(String input) { + return (input != null) ? input.replaceAll(HYPHEN, EMPTY) : EMPTY; + } + private void updateOneRow(SQLiteDatabase database, String locale, String updatedTitle, String normalizedTitle, String updatedSummaryOn, String normalizedSummaryOn,