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

Commit cf3f2493 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by android-build-merger
Browse files

Merge "Fix double-checked locking in InputMethodSubtype" into oc-dev am: da93d0ea

am: a55b0217

Change-Id: I1f34e4fd5da237e72a21113f105180b6fc52b084
parents e4531a37 a55b0217
Loading
Loading
Loading
Loading
+17 −17
Original line number Diff line number Diff line
@@ -520,27 +520,27 @@ public final class InputMethodSubtype implements Parcelable {
    }

    private HashMap<String, String> getExtraValueHashMap() {
        if (mExtraValueHashMapCache == null) {
        synchronized (this) {
                if (mExtraValueHashMapCache == null) {
                    mExtraValueHashMapCache = new HashMap<String, String>();
            HashMap<String, String> extraValueMap = mExtraValueHashMapCache;
            if (extraValueMap != null) {
                return extraValueMap;
            }
            extraValueMap = new HashMap<>();
            final String[] pairs = mSubtypeExtraValue.split(EXTRA_VALUE_PAIR_SEPARATOR);
                    final int N = pairs.length;
                    for (int i = 0; i < N; ++i) {
            for (int i = 0; i < pairs.length; ++i) {
                final String[] pair = pairs[i].split(EXTRA_VALUE_KEY_VALUE_SEPARATOR);
                if (pair.length == 1) {
                            mExtraValueHashMapCache.put(pair[0], null);
                    extraValueMap.put(pair[0], null);
                } else if (pair.length > 1) {
                    if (pair.length > 2) {
                        Slog.w(TAG, "ExtraValue has two or more '='s");
                    }
                            mExtraValueHashMapCache.put(pair[0], pair[1]);
                        }
                    }
                    extraValueMap.put(pair[0], pair[1]);
                }
            }
            mExtraValueHashMapCache = extraValueMap;
            return extraValueMap;
        }
        return mExtraValueHashMapCache;
    }

    /**