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 "chrome/browser/android/ntp/suggestions_event_reporter_bridge.h" | 5 #include "chrome/browser/android/ntp/suggestions_event_reporter_bridge.h" |
6 | 6 |
7 #include <jni.h> | 7 #include <jni.h> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 jlong visit_time_ms) { | 58 jlong visit_time_ms) { |
59 ntp_snippets::metrics::OnSuggestionTargetVisited( | 59 ntp_snippets::metrics::OnSuggestionTargetVisited( |
60 Category::FromIDValue(j_category_id), | 60 Category::FromIDValue(j_category_id), |
61 base::TimeDelta::FromMilliseconds(visit_time_ms)); | 61 base::TimeDelta::FromMilliseconds(visit_time_ms)); |
62 } | 62 } |
63 | 63 |
64 static void OnPageShown( | 64 static void OnPageShown( |
65 JNIEnv* env, | 65 JNIEnv* env, |
66 const JavaParamRef<jclass>& caller, | 66 const JavaParamRef<jclass>& caller, |
67 const JavaParamRef<jintArray>& jcategories, | 67 const JavaParamRef<jintArray>& jcategories, |
68 const JavaParamRef<jintArray>& jsuggestions_per_category) { | 68 const JavaParamRef<jintArray>& jsuggestions_per_category, |
| 69 jint j_visible_categories_count) { |
69 std::vector<int> categories_int; | 70 std::vector<int> categories_int; |
70 JavaIntArrayToIntVector(env, jcategories, &categories_int); | 71 JavaIntArrayToIntVector(env, jcategories, &categories_int); |
71 std::vector<int> suggestions_per_category_int; | 72 std::vector<int> suggestions_per_category_int; |
72 JavaIntArrayToIntVector(env, jsuggestions_per_category, | 73 JavaIntArrayToIntVector(env, jsuggestions_per_category, |
73 &suggestions_per_category_int); | 74 &suggestions_per_category_int); |
74 DCHECK_EQ(categories_int.size(), suggestions_per_category_int.size()); | 75 DCHECK_EQ(categories_int.size(), suggestions_per_category_int.size()); |
75 std::vector<std::pair<Category, int>> suggestions_per_category; | 76 std::vector<std::pair<Category, int>> suggestions_per_category; |
76 for (size_t i = 0; i < categories_int.size(); i++) { | 77 for (size_t i = 0; i < categories_int.size(); i++) { |
77 suggestions_per_category.push_back( | 78 suggestions_per_category.push_back( |
78 std::make_pair(Category::FromIDValue(categories_int[i]), | 79 std::make_pair(Category::FromIDValue(categories_int[i]), |
79 suggestions_per_category_int[i])); | 80 suggestions_per_category_int[i])); |
80 } | 81 } |
81 ntp_snippets::metrics::OnPageShown(suggestions_per_category); | 82 ntp_snippets::metrics::OnPageShown(suggestions_per_category, |
| 83 j_visible_categories_count); |
82 GetUserClassifier()->OnEvent(UserClassifier::Metric::NTP_OPENED); | 84 GetUserClassifier()->OnEvent(UserClassifier::Metric::NTP_OPENED); |
83 } | 85 } |
84 | 86 |
85 static void OnSuggestionShown(JNIEnv* env, | 87 static void OnSuggestionShown(JNIEnv* env, |
86 const JavaParamRef<jclass>& caller, | 88 const JavaParamRef<jclass>& caller, |
87 jint global_position, | 89 jint global_position, |
88 jint j_category_id, | 90 jint j_category_id, |
89 jint position_in_category, | 91 jint position_in_category, |
90 jlong publish_timestamp_ms, | 92 jlong publish_timestamp_ms, |
91 jfloat score, | 93 jfloat score, |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 // TODO(fhorschig): Remove guard when https://crbug.com/678556 is resolved. | 185 // TODO(fhorschig): Remove guard when https://crbug.com/678556 is resolved. |
184 if (!scheduler) { | 186 if (!scheduler) { |
185 return; | 187 return; |
186 } | 188 } |
187 scheduler->OnBrowserForegrounded(); | 189 scheduler->OnBrowserForegrounded(); |
188 } | 190 } |
189 | 191 |
190 bool RegisterSuggestionsEventReporterBridge(JNIEnv* env) { | 192 bool RegisterSuggestionsEventReporterBridge(JNIEnv* env) { |
191 return RegisterNativesImpl(env); | 193 return RegisterNativesImpl(env); |
192 } | 194 } |
OLD | NEW |