Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0453112d authored by Roozbeh Pournader's avatar Roozbeh Pournader
Browse files

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 e7eac6f5)
parent b7e722b8
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -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) {
+2 −1
Original line number Diff line number Diff line
@@ -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;
            }
        }