From 0453112de6663e4711f50f1235bca92c39be4041 Mon Sep 17 00:00:00 2001 From: Roozbeh Pournader Date: Fri, 7 Aug 2015 15:13:30 -0700 Subject: [PATCH] Make Hyphenator#get() return an object. Previously, a native pointer was returned. After this change, callers should call getNativePtr() if they want to get the native pointer instead. Bug: 21492297 Bug: 24570591 Change-Id: I745bd88e6e8c86078fffb07f90f8d8f24215410c (cherry picked from commit e7eac6f540b09892172edd5b584605ea90f5a1ba) --- core/java/android/text/Hyphenator.java | 14 +++++++++----- core/java/android/text/StaticLayout.java | 3 ++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/core/java/android/text/Hyphenator.java b/core/java/android/text/Hyphenator.java index 10a994adde2a3..1665c752752f4 100644 --- a/core/java/android/text/Hyphenator.java +++ b/core/java/android/text/Hyphenator.java @@ -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) { diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java index 3b0def29f006d..bd1ad79d3c6dc 100644 --- a/core/java/android/text/StaticLayout.java +++ b/core/java/android/text/StaticLayout.java @@ -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; } }