OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/base/l10n/l10n_util_android.h" | 5 #include "ui/base/l10n/l10n_util_android.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 ScopedJavaLocalRef<jobject> NewJavaLocale( | 67 ScopedJavaLocalRef<jobject> NewJavaLocale( |
68 JNIEnv* env, | 68 JNIEnv* env, |
69 const std::string& locale) { | 69 const std::string& locale) { |
70 // TODO(wangxianzhu): Use new Locale API once Android supports scripts. | 70 // TODO(wangxianzhu): Use new Locale API once Android supports scripts. |
71 std::string language = GetLocaleComponent( | 71 std::string language = GetLocaleComponent( |
72 locale, uloc_getLanguage, ULOC_LANG_CAPACITY); | 72 locale, uloc_getLanguage, ULOC_LANG_CAPACITY); |
73 std::string country = GetLocaleComponent( | 73 std::string country = GetLocaleComponent( |
74 locale, uloc_getCountry, ULOC_COUNTRY_CAPACITY); | 74 locale, uloc_getCountry, ULOC_COUNTRY_CAPACITY); |
75 std::string variant = GetLocaleComponent( | 75 std::string variant = GetLocaleComponent( |
76 locale, uloc_getVariant, ULOC_FULLNAME_CAPACITY); | 76 locale, uloc_getVariant, ULOC_FULLNAME_CAPACITY); |
77 return Java_LocalizationUtils_getJavaLocale(env, | 77 return Java_LocalizationUtils_getJavaLocale( |
78 base::android::ConvertUTF8ToJavaString(env, language).obj(), | 78 env, base::android::ConvertUTF8ToJavaString(env, language), |
79 base::android::ConvertUTF8ToJavaString(env, country).obj(), | 79 base::android::ConvertUTF8ToJavaString(env, country), |
80 base::android::ConvertUTF8ToJavaString(env, variant).obj()); | 80 base::android::ConvertUTF8ToJavaString(env, variant)); |
81 } | 81 } |
82 | 82 |
83 } // namespace | 83 } // namespace |
84 | 84 |
85 base::string16 GetDisplayNameForLocale(const std::string& locale, | 85 base::string16 GetDisplayNameForLocale(const std::string& locale, |
86 const std::string& display_locale) { | 86 const std::string& display_locale) { |
87 JNIEnv* env = base::android::AttachCurrentThread(); | 87 JNIEnv* env = base::android::AttachCurrentThread(); |
88 ScopedJavaLocalRef<jobject> java_locale = | 88 ScopedJavaLocalRef<jobject> java_locale = |
89 NewJavaLocale(env, locale); | 89 NewJavaLocale(env, locale); |
90 ScopedJavaLocalRef<jobject> java_display_locale = | 90 ScopedJavaLocalRef<jobject> java_display_locale = |
91 NewJavaLocale(env, display_locale); | 91 NewJavaLocale(env, display_locale); |
92 | 92 |
93 ScopedJavaLocalRef<jstring> java_result( | 93 ScopedJavaLocalRef<jstring> java_result( |
94 Java_LocalizationUtils_getDisplayNameForLocale( | 94 Java_LocalizationUtils_getDisplayNameForLocale(env, java_locale, |
95 env, | 95 java_display_locale)); |
96 java_locale.obj(), | |
97 java_display_locale.obj())); | |
98 return ConvertJavaStringToUTF16(java_result); | 96 return ConvertJavaStringToUTF16(java_result); |
99 } | 97 } |
100 | 98 |
101 ScopedJavaLocalRef<jstring> GetDurationString(JNIEnv* env, | 99 ScopedJavaLocalRef<jstring> GetDurationString(JNIEnv* env, |
102 const JavaParamRef<jclass>& clazz, | 100 const JavaParamRef<jclass>& clazz, |
103 jlong timeInMillis) { | 101 jlong timeInMillis) { |
104 ScopedJavaLocalRef<jstring> jtime_remaining = | 102 ScopedJavaLocalRef<jstring> jtime_remaining = |
105 base::android::ConvertUTF16ToJavaString( | 103 base::android::ConvertUTF16ToJavaString( |
106 env, | 104 env, |
107 ui::TimeFormat::Simple( | 105 ui::TimeFormat::Simple( |
108 ui::TimeFormat::FORMAT_REMAINING, ui::TimeFormat::LENGTH_SHORT, | 106 ui::TimeFormat::FORMAT_REMAINING, ui::TimeFormat::LENGTH_SHORT, |
109 base::TimeDelta::FromMilliseconds(timeInMillis))); | 107 base::TimeDelta::FromMilliseconds(timeInMillis))); |
110 return jtime_remaining; | 108 return jtime_remaining; |
111 } | 109 } |
112 | 110 |
113 bool RegisterLocalizationUtil(JNIEnv* env) { | 111 bool RegisterLocalizationUtil(JNIEnv* env) { |
114 return RegisterNativesImpl(env); | 112 return RegisterNativesImpl(env); |
115 } | 113 } |
116 | 114 |
117 } // namespace l10n_util | 115 } // namespace l10n_util |
OLD | NEW |