From 126c0e599ea98b639549d91ff99bc4e780d769b5 Mon Sep 17 00:00:00 2001 From: linyuh Date: Thu, 21 Dec 2017 16:17:02 -0800 Subject: Use CHAR_TO_KEY_MAPS in DialpadCharMappings in SmartDialMaps. This way we don't have to manually keep the maps in sync. Bug: 30215380,70633239 Test: Existing unit tests PiperOrigin-RevId: 179871748 Change-Id: Idd4cc1155068bb31c17deae80b98d73363fad770 --- .../smartdial/map/BulgarianSmartDialMap.java | 46 +------------------- .../dialer/smartdial/map/LatinSmartDialMap.java | 41 +----------------- .../dialer/smartdial/map/RussianSmartDialMap.java | 49 +--------------------- .../smartdial/map/UkrainianSmartDialMap.java | 49 +--------------------- 4 files changed, 8 insertions(+), 177 deletions(-) (limited to 'java/com/android/dialer/smartdial') diff --git a/java/com/android/dialer/smartdial/map/BulgarianSmartDialMap.java b/java/com/android/dialer/smartdial/map/BulgarianSmartDialMap.java index cbe6afa97..5be9761a1 100644 --- a/java/com/android/dialer/smartdial/map/BulgarianSmartDialMap.java +++ b/java/com/android/dialer/smartdial/map/BulgarianSmartDialMap.java @@ -17,54 +17,12 @@ package com.android.dialer.smartdial.map; import android.support.v4.util.SimpleArrayMap; +import com.android.dialer.dialpadview.DialpadCharMappings; import com.google.common.base.Optional; /** A {@link SmartDialMap} for the Bulgarian alphabet. */ @SuppressWarnings("Guava") final class BulgarianSmartDialMap extends SmartDialMap { - private static final SimpleArrayMap CHAR_TO_KEY_MAP = - new SimpleArrayMap<>(); - - // Reference: https://en.wikipedia.org/wiki/Bulgarian_alphabet - static { - CHAR_TO_KEY_MAP.put('а', '2'); - CHAR_TO_KEY_MAP.put('б', '2'); - CHAR_TO_KEY_MAP.put('в', '2'); - CHAR_TO_KEY_MAP.put('г', '2'); - - CHAR_TO_KEY_MAP.put('д', '3'); - CHAR_TO_KEY_MAP.put('е', '3'); - CHAR_TO_KEY_MAP.put('ж', '3'); - CHAR_TO_KEY_MAP.put('з', '3'); - - CHAR_TO_KEY_MAP.put('и', '4'); - CHAR_TO_KEY_MAP.put('й', '4'); - CHAR_TO_KEY_MAP.put('к', '4'); - CHAR_TO_KEY_MAP.put('л', '4'); - - CHAR_TO_KEY_MAP.put('м', '5'); - CHAR_TO_KEY_MAP.put('н', '5'); - CHAR_TO_KEY_MAP.put('о', '5'); - - CHAR_TO_KEY_MAP.put('п', '6'); - CHAR_TO_KEY_MAP.put('р', '6'); - CHAR_TO_KEY_MAP.put('с', '6'); - - CHAR_TO_KEY_MAP.put('т', '7'); - CHAR_TO_KEY_MAP.put('у', '7'); - CHAR_TO_KEY_MAP.put('ф', '7'); - CHAR_TO_KEY_MAP.put('х', '7'); - - CHAR_TO_KEY_MAP.put('ц', '8'); - CHAR_TO_KEY_MAP.put('ч', '8'); - CHAR_TO_KEY_MAP.put('ш', '8'); - CHAR_TO_KEY_MAP.put('щ', '8'); - - CHAR_TO_KEY_MAP.put('ъ', '9'); - CHAR_TO_KEY_MAP.put('ь', '9'); - CHAR_TO_KEY_MAP.put('ю', '9'); - CHAR_TO_KEY_MAP.put('я', '9'); - } private static BulgarianSmartDialMap instance; @@ -86,6 +44,6 @@ final class BulgarianSmartDialMap extends SmartDialMap { @Override SimpleArrayMap getCharToKeyMap() { - return CHAR_TO_KEY_MAP; + return DialpadCharMappings.getCharToKeyMap("bul"); } } diff --git a/java/com/android/dialer/smartdial/map/LatinSmartDialMap.java b/java/com/android/dialer/smartdial/map/LatinSmartDialMap.java index 052af05c0..b8ef951c5 100644 --- a/java/com/android/dialer/smartdial/map/LatinSmartDialMap.java +++ b/java/com/android/dialer/smartdial/map/LatinSmartDialMap.java @@ -17,49 +17,12 @@ package com.android.dialer.smartdial.map; import android.support.v4.util.SimpleArrayMap; +import com.android.dialer.dialpadview.DialpadCharMappings; import com.google.common.base.Optional; /** A {@link SmartDialMap} for the Latin alphabet, which is for T9 dialpad searching. */ @SuppressWarnings("Guava") final class LatinSmartDialMap extends SmartDialMap { - private static final SimpleArrayMap CHAR_TO_KEY_MAP = - new SimpleArrayMap<>(); - - static { - CHAR_TO_KEY_MAP.put('a', '2'); - CHAR_TO_KEY_MAP.put('b', '2'); - CHAR_TO_KEY_MAP.put('c', '2'); - - CHAR_TO_KEY_MAP.put('d', '3'); - CHAR_TO_KEY_MAP.put('e', '3'); - CHAR_TO_KEY_MAP.put('f', '3'); - - CHAR_TO_KEY_MAP.put('g', '4'); - CHAR_TO_KEY_MAP.put('h', '4'); - CHAR_TO_KEY_MAP.put('i', '4'); - - CHAR_TO_KEY_MAP.put('j', '5'); - CHAR_TO_KEY_MAP.put('k', '5'); - CHAR_TO_KEY_MAP.put('l', '5'); - - CHAR_TO_KEY_MAP.put('m', '6'); - CHAR_TO_KEY_MAP.put('n', '6'); - CHAR_TO_KEY_MAP.put('o', '6'); - - CHAR_TO_KEY_MAP.put('p', '7'); - CHAR_TO_KEY_MAP.put('q', '7'); - CHAR_TO_KEY_MAP.put('r', '7'); - CHAR_TO_KEY_MAP.put('s', '7'); - - CHAR_TO_KEY_MAP.put('t', '8'); - CHAR_TO_KEY_MAP.put('u', '8'); - CHAR_TO_KEY_MAP.put('v', '8'); - - CHAR_TO_KEY_MAP.put('w', '9'); - CHAR_TO_KEY_MAP.put('x', '9'); - CHAR_TO_KEY_MAP.put('y', '9'); - CHAR_TO_KEY_MAP.put('z', '9'); - } private static LatinSmartDialMap instance; @@ -780,6 +743,6 @@ final class LatinSmartDialMap extends SmartDialMap { @Override SimpleArrayMap getCharToKeyMap() { - return CHAR_TO_KEY_MAP; + return DialpadCharMappings.getDefaultCharToKeyMap(); } } diff --git a/java/com/android/dialer/smartdial/map/RussianSmartDialMap.java b/java/com/android/dialer/smartdial/map/RussianSmartDialMap.java index 5038520c2..c10bbb0ce 100644 --- a/java/com/android/dialer/smartdial/map/RussianSmartDialMap.java +++ b/java/com/android/dialer/smartdial/map/RussianSmartDialMap.java @@ -17,57 +17,12 @@ package com.android.dialer.smartdial.map; import android.support.v4.util.SimpleArrayMap; +import com.android.dialer.dialpadview.DialpadCharMappings; import com.google.common.base.Optional; /** A {@link SmartDialMap} for the Russian alphabet. */ @SuppressWarnings("Guava") final class RussianSmartDialMap extends SmartDialMap { - private static final SimpleArrayMap CHAR_TO_KEY_MAP = - new SimpleArrayMap<>(); - - // Reference: https://en.wikipedia.org/wiki/Russian_alphabet - static { - CHAR_TO_KEY_MAP.put('а', '2'); - CHAR_TO_KEY_MAP.put('б', '2'); - CHAR_TO_KEY_MAP.put('в', '2'); - CHAR_TO_KEY_MAP.put('г', '2'); - - CHAR_TO_KEY_MAP.put('д', '3'); - CHAR_TO_KEY_MAP.put('е', '3'); - CHAR_TO_KEY_MAP.put('ё', '3'); - CHAR_TO_KEY_MAP.put('ж', '3'); - CHAR_TO_KEY_MAP.put('з', '3'); - - CHAR_TO_KEY_MAP.put('и', '4'); - CHAR_TO_KEY_MAP.put('й', '4'); - CHAR_TO_KEY_MAP.put('к', '4'); - CHAR_TO_KEY_MAP.put('л', '4'); - - CHAR_TO_KEY_MAP.put('м', '5'); - CHAR_TO_KEY_MAP.put('н', '5'); - CHAR_TO_KEY_MAP.put('о', '5'); - CHAR_TO_KEY_MAP.put('п', '5'); - - CHAR_TO_KEY_MAP.put('р', '6'); - CHAR_TO_KEY_MAP.put('с', '6'); - CHAR_TO_KEY_MAP.put('т', '6'); - CHAR_TO_KEY_MAP.put('у', '6'); - - CHAR_TO_KEY_MAP.put('ф', '7'); - CHAR_TO_KEY_MAP.put('х', '7'); - CHAR_TO_KEY_MAP.put('ц', '7'); - CHAR_TO_KEY_MAP.put('ч', '7'); - - CHAR_TO_KEY_MAP.put('ш', '8'); - CHAR_TO_KEY_MAP.put('щ', '8'); - CHAR_TO_KEY_MAP.put('ъ', '8'); - CHAR_TO_KEY_MAP.put('ы', '8'); - - CHAR_TO_KEY_MAP.put('ь', '9'); - CHAR_TO_KEY_MAP.put('э', '9'); - CHAR_TO_KEY_MAP.put('ю', '9'); - CHAR_TO_KEY_MAP.put('я', '9'); - } private static RussianSmartDialMap instance; @@ -89,6 +44,6 @@ final class RussianSmartDialMap extends SmartDialMap { @Override SimpleArrayMap getCharToKeyMap() { - return CHAR_TO_KEY_MAP; + return DialpadCharMappings.getCharToKeyMap("rus"); } } diff --git a/java/com/android/dialer/smartdial/map/UkrainianSmartDialMap.java b/java/com/android/dialer/smartdial/map/UkrainianSmartDialMap.java index 28dbc0d61..844732c32 100644 --- a/java/com/android/dialer/smartdial/map/UkrainianSmartDialMap.java +++ b/java/com/android/dialer/smartdial/map/UkrainianSmartDialMap.java @@ -17,56 +17,11 @@ package com.android.dialer.smartdial.map; import android.support.v4.util.SimpleArrayMap; +import com.android.dialer.dialpadview.DialpadCharMappings; import com.google.common.base.Optional; /** A {@link SmartDialMap} for the Ukrainian alphabet. */ final class UkrainianSmartDialMap extends SmartDialMap { - private static final SimpleArrayMap CHAR_TO_KEY_MAP = - new SimpleArrayMap<>(); - - // Reference: https://en.wikipedia.org/wiki/Ukrainian_alphabet - static { - CHAR_TO_KEY_MAP.put('а', '2'); - CHAR_TO_KEY_MAP.put('б', '2'); - CHAR_TO_KEY_MAP.put('в', '2'); - CHAR_TO_KEY_MAP.put('г', '2'); - CHAR_TO_KEY_MAP.put('ґ', '2'); - - CHAR_TO_KEY_MAP.put('д', '3'); - CHAR_TO_KEY_MAP.put('е', '3'); - CHAR_TO_KEY_MAP.put('є', '3'); - CHAR_TO_KEY_MAP.put('ж', '3'); - CHAR_TO_KEY_MAP.put('з', '3'); - - CHAR_TO_KEY_MAP.put('и', '4'); - CHAR_TO_KEY_MAP.put('і', '4'); - CHAR_TO_KEY_MAP.put('ї', '4'); - CHAR_TO_KEY_MAP.put('й', '4'); - CHAR_TO_KEY_MAP.put('к', '4'); - CHAR_TO_KEY_MAP.put('л', '4'); - - CHAR_TO_KEY_MAP.put('м', '5'); - CHAR_TO_KEY_MAP.put('н', '5'); - CHAR_TO_KEY_MAP.put('о', '5'); - CHAR_TO_KEY_MAP.put('п', '5'); - - CHAR_TO_KEY_MAP.put('р', '6'); - CHAR_TO_KEY_MAP.put('с', '6'); - CHAR_TO_KEY_MAP.put('т', '6'); - CHAR_TO_KEY_MAP.put('у', '6'); - - CHAR_TO_KEY_MAP.put('ф', '7'); - CHAR_TO_KEY_MAP.put('х', '7'); - CHAR_TO_KEY_MAP.put('ц', '7'); - CHAR_TO_KEY_MAP.put('ч', '7'); - - CHAR_TO_KEY_MAP.put('ш', '8'); - CHAR_TO_KEY_MAP.put('щ', '8'); - - CHAR_TO_KEY_MAP.put('ь', '9'); - CHAR_TO_KEY_MAP.put('ю', '9'); - CHAR_TO_KEY_MAP.put('я', '9'); - } private static UkrainianSmartDialMap instance; @@ -88,6 +43,6 @@ final class UkrainianSmartDialMap extends SmartDialMap { @Override SimpleArrayMap getCharToKeyMap() { - return CHAR_TO_KEY_MAP; + return DialpadCharMappings.getCharToKeyMap("ukr"); } } -- cgit v1.2.3