Use ICU4J transliterator directly.
This change inlines the use of the ICU4J transliterator whose
wrapper class is being removed in the following change:
https://android-review.git.corp.google.com/#/c/162045/
Change-Id: Ie94032b7ac0effb9d8c0093e1ab443224cb62a56
diff --git a/src/com/android/providers/contacts/ContactLocaleUtils.java b/src/com/android/providers/contacts/ContactLocaleUtils.java
index 7d51b94..c20fb51 100644
--- a/src/com/android/providers/contacts/ContactLocaleUtils.java
+++ b/src/com/android/providers/contacts/ContactLocaleUtils.java
@@ -18,6 +18,7 @@
import android.icu.text.AlphabeticIndex;
import android.icu.text.AlphabeticIndex.ImmutableIndex;
+import android.icu.text.Transliterator;
import android.provider.ContactsContract.FullNameStyle;
import android.provider.ContactsContract.PhoneticNameStyle;
import android.text.TextUtils;
@@ -39,8 +40,6 @@
import java.util.Set;
-import libcore.icu.Transliterator;
-
/**
* This utility class provides specialized handling for locale specific
* information: labels, name lookup keys.
@@ -315,9 +314,9 @@
mInitializedTransliterator = true;
Transliterator t = null;
try {
- t = new Transliterator("Hiragana-Latin; Katakana-Latin;"
+ t = Transliterator.getInstance("Hiragana-Latin; Katakana-Latin;"
+ " Latin-Ascii");
- } catch (RuntimeException e) {
+ } catch (IllegalArgumentException e) {
Log.w(TAG, "Hiragana/Katakana-Latin transliterator data"
+ " is missing");
}
diff --git a/src/com/android/providers/contacts/HanziToPinyin.java b/src/com/android/providers/contacts/HanziToPinyin.java
index d140439..175d766 100644
--- a/src/com/android/providers/contacts/HanziToPinyin.java
+++ b/src/com/android/providers/contacts/HanziToPinyin.java
@@ -16,13 +16,13 @@
package com.android.providers.contacts;
+import android.icu.text.Transliterator;
import android.text.TextUtils;
import android.util.Log;
import java.util.ArrayList;
import java.util.Locale;
-import libcore.icu.Transliterator;
/**
* An object to convert Chinese character to its corresponding pinyin string.
@@ -73,9 +73,10 @@
private HanziToPinyin() {
try {
- mPinyinTransliterator = new Transliterator("Han-Latin/Names; Latin-Ascii; Any-Upper");
- mAsciiTransliterator = new Transliterator("Latin-Ascii");
- } catch (RuntimeException e) {
+ mPinyinTransliterator = Transliterator.getInstance(
+ "Han-Latin/Names; Latin-Ascii; Any-Upper");
+ mAsciiTransliterator = Transliterator.getInstance("Latin-Ascii");
+ } catch (IllegalArgumentException e) {
Log.w(TAG, "Han-Latin/Names transliterator data is missing,"
+ " HanziToPinyin is disabled");
}