Merge "Make Hyphenator#get() return an object." into mnc-dr-dev

This commit is contained in:
Roozbeh Pournader
2015-10-14 21:07:13 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 6 deletions

View File

@@ -53,11 +53,15 @@ public class Hyphenator {
mNativePtr = nativePtr;
}
public static long get(@Nullable Locale locale) {
public long getNativePtr() {
return mNativePtr;
}
public static Hyphenator get(@Nullable Locale locale) {
synchronized (sLock) {
Hyphenator result = sMap.get(locale);
if (result != null) {
return result.mNativePtr;
return result;
}
// TODO: Convert this a proper locale-fallback system
@@ -67,7 +71,7 @@ public class Hyphenator {
result = sMap.get(languageOnlyLocale);
if (result != null) {
sMap.put(locale, result);
return result.mNativePtr;
return result;
}
// Fall back to script-only, if available
@@ -80,13 +84,13 @@ public class Hyphenator {
result = sMap.get(scriptOnlyLocale);
if (result != null) {
sMap.put(locale, result);
return result.mNativePtr;
return result;
}
}
sMap.put(locale, sEmptyHyphenator); // To remember we found nothing.
}
return sEmptyHyphenator.mNativePtr;
return sEmptyHyphenator;
}
private static Hyphenator loadHyphenator(String languageTag) {

View File

@@ -341,7 +341,8 @@ public class StaticLayout extends Layout {
private void setLocale(Locale locale) {
if (!locale.equals(mLocale)) {
nSetLocale(mNativePtr, locale.toLanguageTag(), Hyphenator.get(locale));
nSetLocale(mNativePtr, locale.toLanguageTag(),
Hyphenator.get(locale).getNativePtr());
mLocale = locale;
}
}