diff options
author | Fabrice Di Meglio <fdimeglio@google.com> | 2012-09-18 12:55:32 -0700 |
---|---|---|
committer | Fabrice Di Meglio <fdimeglio@google.com> | 2012-09-18 12:55:32 -0700 |
commit | d3d9f3f1004dfee2649a26cfe8dba948cd364904 (patch) | |
tree | 089a87a8ecaf116fddfff6af95aadbb54e6203da /core/java/android/util/LocaleUtil.java | |
parent | 5e900e3a17a87e91a0d190bc1c96efc440eb026a (diff) | |
download | frameworks_base-d3d9f3f1004dfee2649a26cfe8dba948cd364904.zip frameworks_base-d3d9f3f1004dfee2649a26cfe8dba948cd364904.tar.gz frameworks_base-d3d9f3f1004dfee2649a26cfe8dba948cd364904.tar.bz2 |
Fix bug #7173351 API REVIEW: android.util.LocaleUtil
Change-Id: I08fd491eff714059e9ec874fadebe7eb556c34d5
Diffstat (limited to 'core/java/android/util/LocaleUtil.java')
-rw-r--r-- | core/java/android/util/LocaleUtil.java | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/core/java/android/util/LocaleUtil.java b/core/java/android/util/LocaleUtil.java deleted file mode 100644 index 60526e1..0000000 --- a/core/java/android/util/LocaleUtil.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.util; - -import java.util.Locale; - -import android.view.View; -import libcore.icu.ICU; - -/** - * Various utilities for Locales - * - */ -public class LocaleUtil { - - private LocaleUtil() { /* cannot be instantiated */ } - - private static String ARAB_SCRIPT_SUBTAG = "Arab"; - private static String HEBR_SCRIPT_SUBTAG = "Hebr"; - - /** - * Return the layout direction for a given Locale - * - * @param locale the Locale for which we want the layout direction. Can be null. - * @return the layout direction. This may be one of: - * {@link View#LAYOUT_DIRECTION_LTR} or - * {@link View#LAYOUT_DIRECTION_RTL}. - * - * Be careful: this code will need to be updated when vertical scripts will be supported - */ - public static int getLayoutDirectionFromLocale(Locale locale) { - if (locale != null && !locale.equals(Locale.ROOT)) { - final String scriptSubtag = ICU.getScript(ICU.addLikelySubtags(locale.toString())); - if (scriptSubtag == null) return getLayoutDirectionFromFirstChar(locale); - - if (scriptSubtag.equalsIgnoreCase(ARAB_SCRIPT_SUBTAG) || - scriptSubtag.equalsIgnoreCase(HEBR_SCRIPT_SUBTAG)) { - return View.LAYOUT_DIRECTION_RTL; - } - } - - return View.LAYOUT_DIRECTION_LTR; - } - - /** - * Fallback algorithm to detect the locale direction. Rely on the fist char of the - * localized locale name. This will not work if the localized locale name is in English - * (this is the case for ICU 4.4 and "Urdu" script) - * - * @param locale - * @return the layout direction. This may be one of: - * {@link View#LAYOUT_DIRECTION_LTR} or - * {@link View#LAYOUT_DIRECTION_RTL}. - * - * Be careful: this code will need to be updated when vertical scripts will be supported - * - * @hide - */ - private static int getLayoutDirectionFromFirstChar(Locale locale) { - switch(Character.getDirectionality(locale.getDisplayName(locale).charAt(0))) { - case Character.DIRECTIONALITY_RIGHT_TO_LEFT: - case Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC: - return View.LAYOUT_DIRECTION_RTL; - - case Character.DIRECTIONALITY_LEFT_TO_RIGHT: - default: - return View.LAYOUT_DIRECTION_LTR; - } - } -} |