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