OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "components/payments/content/android/currency_formatter_android.h" | 5 #include "components/payments/content/android/currency_formatter_android.h" |
6 | 6 |
7 #include "base/android/jni_string.h" | 7 #include "base/android/jni_string.h" |
8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
9 #include "components/payments/core/currency_formatter.h" | 9 #include "components/payments/core/currency_formatter.h" |
10 #include "jni/CurrencyFormatter_jni.h" | 10 #include "jni/CurrencyFormatter_jni.h" |
11 | 11 |
12 namespace payments { | 12 namespace payments { |
13 namespace { | 13 namespace { |
14 | 14 |
15 using ::base::android::JavaParamRef; | 15 using ::base::android::JavaParamRef; |
16 using ::base::android::ConvertJavaStringToUTF8; | 16 using ::base::android::ConvertJavaStringToUTF8; |
17 | 17 |
18 } // namespace | 18 } // namespace |
19 | 19 |
20 CurrencyFormatterAndroid::CurrencyFormatterAndroid( | 20 CurrencyFormatterAndroid::CurrencyFormatterAndroid( |
21 JNIEnv* env, | 21 JNIEnv* env, |
22 jobject unused_obj, | 22 jobject jcaller, |
23 const JavaParamRef<jstring>& currency_code, | 23 const JavaParamRef<jstring>& currency_code, |
24 const JavaParamRef<jstring>& currency_system, | 24 const JavaParamRef<jstring>& currency_system, |
25 const JavaParamRef<jstring>& locale_name) { | 25 const JavaParamRef<jstring>& locale_name) { |
26 std::string currency_system_str = | 26 std::string currency_system_str = |
27 ConvertJavaStringToUTF8(env, currency_system); | 27 ConvertJavaStringToUTF8(env, currency_system); |
28 | 28 |
29 currency_formatter_.reset(new CurrencyFormatter( | 29 currency_formatter_.reset(new CurrencyFormatter( |
30 ConvertJavaStringToUTF8(env, currency_code), currency_system_str, | 30 ConvertJavaStringToUTF8(env, currency_code), currency_system_str, |
31 ConvertJavaStringToUTF8(env, locale_name))); | 31 ConvertJavaStringToUTF8(env, locale_name))); |
32 } | 32 } |
33 | 33 |
34 CurrencyFormatterAndroid::~CurrencyFormatterAndroid() {} | 34 CurrencyFormatterAndroid::~CurrencyFormatterAndroid() {} |
35 | 35 |
36 void CurrencyFormatterAndroid::Destroy(JNIEnv* env, | 36 void CurrencyFormatterAndroid::Destroy(JNIEnv* env, |
37 const JavaParamRef<jobject>& obj) { | 37 const JavaParamRef<jobject>& jcaller) { |
38 delete this; | 38 delete this; |
39 } | 39 } |
40 | 40 |
41 base::android::ScopedJavaLocalRef<jstring> CurrencyFormatterAndroid::Format( | 41 base::android::ScopedJavaLocalRef<jstring> CurrencyFormatterAndroid::Format( |
42 JNIEnv* env, | 42 JNIEnv* env, |
43 const JavaParamRef<jobject>& unused_obj, | 43 const JavaParamRef<jobject>& jcaller, |
44 const JavaParamRef<jstring>& amount) { | 44 const JavaParamRef<jstring>& amount) { |
45 base::string16 result = | 45 base::string16 result = |
46 currency_formatter_->Format(ConvertJavaStringToUTF8(env, amount)); | 46 currency_formatter_->Format(ConvertJavaStringToUTF8(env, amount)); |
47 return base::android::ConvertUTF16ToJavaString(env, result); | 47 return base::android::ConvertUTF16ToJavaString(env, result); |
48 } | 48 } |
49 | 49 |
50 base::android::ScopedJavaLocalRef<jstring> | 50 base::android::ScopedJavaLocalRef<jstring> |
51 CurrencyFormatterAndroid::GetFormattedCurrencyCode( | 51 CurrencyFormatterAndroid::GetFormattedCurrencyCode( |
52 JNIEnv* env, | 52 JNIEnv* env, |
53 const JavaParamRef<jobject>& unused_obj) { | 53 const JavaParamRef<jobject>& unused_obj) { |
(...skipping 12 matching lines...) Expand all Loading... |
66 const JavaParamRef<jstring>& currency_code, | 66 const JavaParamRef<jstring>& currency_code, |
67 const JavaParamRef<jstring>& currency_system, | 67 const JavaParamRef<jstring>& currency_system, |
68 const JavaParamRef<jstring>& locale_name) { | 68 const JavaParamRef<jstring>& locale_name) { |
69 CurrencyFormatterAndroid* currency_formatter_android = | 69 CurrencyFormatterAndroid* currency_formatter_android = |
70 new CurrencyFormatterAndroid(env, obj, currency_code, currency_system, | 70 new CurrencyFormatterAndroid(env, obj, currency_code, currency_system, |
71 locale_name); | 71 locale_name); |
72 return reinterpret_cast<intptr_t>(currency_formatter_android); | 72 return reinterpret_cast<intptr_t>(currency_formatter_android); |
73 } | 73 } |
74 | 74 |
75 } // namespace payments | 75 } // namespace payments |
OLD | NEW |