| 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 |