OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/most_visited_sites_bridge.h" | 5 #include "chrome/browser/android/ntp/most_visited_sites_bridge.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
10 #include "base/android/jni_array.h" | 10 #include "base/android/jni_array.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 | 24 |
25 using base::android::AttachCurrentThread; | 25 using base::android::AttachCurrentThread; |
26 using base::android::ConvertJavaStringToUTF8; | 26 using base::android::ConvertJavaStringToUTF8; |
27 using base::android::ConvertUTF8ToJavaString; | 27 using base::android::ConvertUTF8ToJavaString; |
28 using base::android::JavaParamRef; | 28 using base::android::JavaParamRef; |
29 using base::android::ScopedJavaGlobalRef; | 29 using base::android::ScopedJavaGlobalRef; |
30 using base::android::ScopedJavaLocalRef; | 30 using base::android::ScopedJavaLocalRef; |
31 using base::android::ToJavaArrayOfStrings; | 31 using base::android::ToJavaArrayOfStrings; |
32 using base::android::ToJavaIntArray; | 32 using base::android::ToJavaIntArray; |
33 using ntp_tiles::MostVisitedSites; | 33 using ntp_tiles::MostVisitedSites; |
34 using ntp_tiles::NTPTileSource; | 34 using ntp_tiles::TileSource; |
35 using ntp_tiles::NTPTilesVector; | 35 using ntp_tiles::NTPTilesVector; |
36 using ntp_tiles::metrics::MostVisitedTileType; | 36 using ntp_tiles::TileVisualType; |
37 using ntp_tiles::metrics::TileImpression; | 37 using ntp_tiles::metrics::TileImpression; |
38 | 38 |
39 class MostVisitedSitesBridge::JavaObserver : public MostVisitedSites::Observer { | 39 class MostVisitedSitesBridge::JavaObserver : public MostVisitedSites::Observer { |
40 public: | 40 public: |
41 JavaObserver(JNIEnv* env, const JavaParamRef<jobject>& obj); | 41 JavaObserver(JNIEnv* env, const JavaParamRef<jobject>& obj); |
42 | 42 |
43 void OnMostVisitedURLsAvailable(const NTPTilesVector& tiles) override; | 43 void OnMostVisitedURLsAvailable(const NTPTilesVector& tiles) override; |
44 | 44 |
45 void OnIconMadeAvailable(const GURL& site_url) override; | 45 void OnIconMadeAvailable(const GURL& site_url) override; |
46 | 46 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 base::android::JavaIntArrayToIntVector(env, jtile_types, &int_tile_types); | 132 base::android::JavaIntArrayToIntVector(env, jtile_types, &int_tile_types); |
133 std::vector<std::string> string_tile_urls; | 133 std::vector<std::string> string_tile_urls; |
134 base::android::AppendJavaStringArrayToStringVector(env, jtile_urls, | 134 base::android::AppendJavaStringArrayToStringVector(env, jtile_urls, |
135 &string_tile_urls); | 135 &string_tile_urls); |
136 | 136 |
137 DCHECK_EQ(int_sources.size(), int_tile_types.size()); | 137 DCHECK_EQ(int_sources.size(), int_tile_types.size()); |
138 DCHECK_EQ(int_sources.size(), string_tile_urls.size()); | 138 DCHECK_EQ(int_sources.size(), string_tile_urls.size()); |
139 | 139 |
140 std::vector<TileImpression> tiles; | 140 std::vector<TileImpression> tiles; |
141 for (size_t i = 0; i < int_sources.size(); i++) { | 141 for (size_t i = 0; i < int_sources.size(); i++) { |
142 NTPTileSource source = static_cast<NTPTileSource>(int_sources[i]); | 142 TileSource source = static_cast<TileSource>(int_sources[i]); |
143 MostVisitedTileType tile_type = | 143 TileVisualType tile_type = static_cast<TileVisualType>(int_tile_types[i]); |
144 static_cast<MostVisitedTileType>(int_tile_types[i]); | |
145 | 144 |
146 tiles.emplace_back(source, tile_type, GURL(string_tile_urls[i])); | 145 tiles.emplace_back(source, tile_type, GURL(string_tile_urls[i])); |
147 } | 146 } |
148 ntp_tiles::metrics::RecordPageImpression(tiles, | 147 ntp_tiles::metrics::RecordPageImpression(tiles, |
149 g_browser_process->rappor_service()); | 148 g_browser_process->rappor_service()); |
150 } | 149 } |
151 | 150 |
152 void MostVisitedSitesBridge::RecordOpenedMostVisitedItem( | 151 void MostVisitedSitesBridge::RecordOpenedMostVisitedItem( |
153 JNIEnv* env, | 152 JNIEnv* env, |
154 const JavaParamRef<jobject>& obj, | 153 const JavaParamRef<jobject>& obj, |
155 jint index, | 154 jint index, |
156 jint tile_type, | 155 jint tile_type, |
157 jint source) { | 156 jint source) { |
158 ntp_tiles::metrics::RecordTileClick( | 157 ntp_tiles::metrics::RecordTileClick(index, static_cast<TileSource>(source), |
159 index, static_cast<NTPTileSource>(source), | 158 static_cast<TileVisualType>(tile_type)); |
160 static_cast<MostVisitedTileType>(tile_type)); | |
161 } | 159 } |
162 | 160 |
163 // static | 161 // static |
164 bool MostVisitedSitesBridge::Register(JNIEnv* env) { | 162 bool MostVisitedSitesBridge::Register(JNIEnv* env) { |
165 return RegisterNativesImpl(env); | 163 return RegisterNativesImpl(env); |
166 } | 164 } |
167 | 165 |
168 static jlong Init(JNIEnv* env, | 166 static jlong Init(JNIEnv* env, |
169 const JavaParamRef<jobject>& obj, | 167 const JavaParamRef<jobject>& obj, |
170 const JavaParamRef<jobject>& jprofile) { | 168 const JavaParamRef<jobject>& jprofile) { |
171 MostVisitedSitesBridge* most_visited_sites = | 169 MostVisitedSitesBridge* most_visited_sites = |
172 new MostVisitedSitesBridge(ProfileAndroid::FromProfileAndroid(jprofile)); | 170 new MostVisitedSitesBridge(ProfileAndroid::FromProfileAndroid(jprofile)); |
173 return reinterpret_cast<intptr_t>(most_visited_sites); | 171 return reinterpret_cast<intptr_t>(most_visited_sites); |
174 } | 172 } |
OLD | NEW |