Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8563)

Unified Diff: components/payments/content/android/journey_logger_android.cc

Issue 2750103005: [Payments] Move journey logger to native. (Closed)
Patch Set: Add the component_jni_registrar files Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/payments/content/android/journey_logger_android.h ('k') | components/payments/core/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/payments/content/android/journey_logger_android.cc
diff --git a/components/payments/content/android/currency_formatter_android.cc b/components/payments/content/android/journey_logger_android.cc
similarity index 16%
copy from components/payments/content/android/currency_formatter_android.cc
copy to components/payments/content/android/journey_logger_android.cc
index 0ea0f91203346dfe2d267d5b63aadfb12459b640..a0341814945e9e106eb41d600a95e3312b745049 100644
--- a/components/payments/content/android/currency_formatter_android.cc
+++ b/components/payments/content/android/journey_logger_android.cc
@@ -2,12 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "components/payments/content/android/currency_formatter_android.h"
+#include "components/payments/content/android/journey_logger_android.h"
#include "base/android/jni_string.h"
-#include "base/strings/string16.h"
-#include "components/payments/core/currency_formatter.h"
-#include "jni/CurrencyFormatter_jni.h"
+#include "jni/JourneyLogger_jni.h"
namespace payments {
namespace {
@@ -17,59 +15,88 @@ using ::base::android::ConvertJavaStringToUTF8;
} // namespace
-CurrencyFormatterAndroid::CurrencyFormatterAndroid(
- JNIEnv* env,
- jobject unused_obj,
- const JavaParamRef<jstring>& currency_code,
- const JavaParamRef<jstring>& currency_system,
- const JavaParamRef<jstring>& locale_name) {
- std::string currency_system_str =
- ConvertJavaStringToUTF8(env, currency_system);
-
- currency_formatter_.reset(new CurrencyFormatter(
- ConvertJavaStringToUTF8(env, currency_code), currency_system_str,
- ConvertJavaStringToUTF8(env, locale_name)));
+// static
+bool JourneyLoggerAndroid::Register(JNIEnv* env) {
+ return RegisterNativesImpl(env);
}
-CurrencyFormatterAndroid::~CurrencyFormatterAndroid() {}
+JourneyLoggerAndroid::JourneyLoggerAndroid() {}
-void CurrencyFormatterAndroid::Destroy(JNIEnv* env,
- const JavaParamRef<jobject>& obj) {
+JourneyLoggerAndroid::~JourneyLoggerAndroid() {}
+
+void JourneyLoggerAndroid::Destroy(JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller) {
delete this;
}
-base::android::ScopedJavaLocalRef<jstring> CurrencyFormatterAndroid::Format(
+void JourneyLoggerAndroid::SetNumberOfSuggestionsShown(
JNIEnv* env,
- const JavaParamRef<jobject>& unused_obj,
- const JavaParamRef<jstring>& amount) {
- base::string16 result =
- currency_formatter_->Format(ConvertJavaStringToUTF8(env, amount));
- return base::android::ConvertUTF16ToJavaString(env, result);
+ const base::android::JavaParamRef<jobject>& jcaller,
+ jint jsection,
+ jint jnumber) {
+ DCHECK_GE(jsection, 0);
+ DCHECK_LT(jsection, JourneyLogger::Section::SECTION_MAX);
+ journey_logger_.SetNumberOfSuggestionsShown(
+ static_cast<JourneyLogger::Section>(jsection), jnumber);
}
-base::android::ScopedJavaLocalRef<jstring>
-CurrencyFormatterAndroid::GetFormattedCurrencyCode(
+void JourneyLoggerAndroid::IncrementSelectionChanges(
JNIEnv* env,
- const JavaParamRef<jobject>& unused_obj) {
- return base::android::ConvertUTF8ToJavaString(
- env, currency_formatter_->formatted_currency_code());
+ const base::android::JavaParamRef<jobject>& jcaller,
+ jint jsection) {
+ DCHECK_GE(jsection, 0);
+ DCHECK_LT(jsection, JourneyLogger::Section::SECTION_MAX);
+ journey_logger_.IncrementSelectionChanges(
+ static_cast<JourneyLogger::Section>(jsection));
}
-// static
-bool CurrencyFormatterAndroid::Register(JNIEnv* env) {
- return RegisterNativesImpl(env);
+void JourneyLoggerAndroid::IncrementSelectionEdits(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& jcaller,
+ jint jsection) {
+ DCHECK_GE(jsection, 0);
+ DCHECK_LT(jsection, JourneyLogger::Section::SECTION_MAX);
+ journey_logger_.IncrementSelectionEdits(
+ static_cast<JourneyLogger::Section>(jsection));
+}
+
+void JourneyLoggerAndroid::IncrementSelectionAdds(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& jcaller,
+ jint jsection) {
+ DCHECK_GE(jsection, 0);
+ DCHECK_LT(jsection, JourneyLogger::Section::SECTION_MAX);
+ journey_logger_.IncrementSelectionAdds(
+ static_cast<JourneyLogger::Section>(jsection));
}
-static jlong InitCurrencyFormatterAndroid(
+void JourneyLoggerAndroid::SetCanMakePaymentValue(
JNIEnv* env,
- const JavaParamRef<jobject>& obj,
- const JavaParamRef<jstring>& currency_code,
- const JavaParamRef<jstring>& currency_system,
- const JavaParamRef<jstring>& locale_name) {
- CurrencyFormatterAndroid* currency_formatter_android =
- new CurrencyFormatterAndroid(env, obj, currency_code, currency_system,
- locale_name);
- return reinterpret_cast<intptr_t>(currency_formatter_android);
+ const base::android::JavaParamRef<jobject>& jcaller,
+ jboolean jvalue) {
+ journey_logger_.SetCanMakePaymentValue(jvalue);
+}
+
+void JourneyLoggerAndroid::SetShowCalled(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& jcaller) {
+ journey_logger_.SetShowCalled();
+}
+
+void JourneyLoggerAndroid::RecordJourneyStatsHistograms(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& jcaller,
+ jint jcompletion_status) {
+ DCHECK_GE(jcompletion_status, 0);
+ DCHECK_LT(jcompletion_status,
+ JourneyLogger::CompletionStatus::COMPLETION_STATUS_MAX);
+ journey_logger_.RecordJourneyStatsHistograms(
+ static_cast<JourneyLogger::CompletionStatus>(jcompletion_status));
+}
+
+static jlong InitJourneyLoggerAndroid(JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller) {
+ return reinterpret_cast<jlong>(new JourneyLoggerAndroid());
}
} // namespace payments
« no previous file with comments | « components/payments/content/android/journey_logger_android.h ('k') | components/payments/core/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698