Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/banners/app_banner_manager_android.h" | 5 #include "chrome/browser/android/banners/app_banner_manager_android.h" |
| 6 | 6 |
| 7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
| 8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 23 namespace { | 23 namespace { |
| 24 | 24 |
| 25 const char kPlayPlatform[] = "play"; | 25 const char kPlayPlatform[] = "play"; |
| 26 const char kReferrerName[] = "referrer"; | 26 const char kReferrerName[] = "referrer"; |
| 27 const char kIdName[] = "id"; | 27 const char kIdName[] = "id"; |
| 28 | 28 |
| 29 } // anonymous namespace | 29 } // anonymous namespace |
| 30 | 30 |
| 31 namespace banners { | 31 namespace banners { |
| 32 | 32 |
| 33 AppBannerManagerAndroid::AppBannerManagerAndroid(JNIEnv* env, | 33 AppBannerManagerAndroid::AppBannerManagerAndroid( |
| 34 jobject obj, | 34 JNIEnv* env, |
|
gone
2015/08/26 21:39:25
Indentation is wrong. You indent by 4 in C++ for
Lalit Maganti
2015/08/26 22:55:00
Done.
| |
| 35 int icon_size) | 35 jobject obj, |
| 36 : AppBannerManager(icon_size), | 36 int ideal_splash_image_size_in_dp, |
| 37 int ideal_icon_size_in_dp) | |
| 38 : AppBannerManager(ideal_icon_size_in_dp), | |
| 39 ideal_splash_image_size_in_dp_(ideal_splash_image_size_in_dp), | |
| 37 weak_java_banner_view_manager_(env, obj) { | 40 weak_java_banner_view_manager_(env, obj) { |
| 38 } | 41 } |
| 39 | 42 |
| 40 AppBannerManagerAndroid::~AppBannerManagerAndroid() { | 43 AppBannerManagerAndroid::~AppBannerManagerAndroid() { |
| 41 } | 44 } |
| 42 | 45 |
| 43 void AppBannerManagerAndroid::Destroy(JNIEnv* env, jobject obj) { | 46 void AppBannerManagerAndroid::Destroy(JNIEnv* env, jobject obj) { |
| 44 delete this; | 47 delete this; |
| 45 } | 48 } |
| 46 | 49 |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 76 std::string referrer = ExtractQueryValueForName(url, kReferrerName); | 79 std::string referrer = ExtractQueryValueForName(url, kReferrerName); |
| 77 | 80 |
| 78 ScopedJavaLocalRef<jstring> jurl( | 81 ScopedJavaLocalRef<jstring> jurl( |
| 79 ConvertUTF8ToJavaString(env, data_fetcher()->validated_url().spec())); | 82 ConvertUTF8ToJavaString(env, data_fetcher()->validated_url().spec())); |
| 80 ScopedJavaLocalRef<jstring> jpackage( | 83 ScopedJavaLocalRef<jstring> jpackage( |
| 81 ConvertUTF8ToJavaString(env, id)); | 84 ConvertUTF8ToJavaString(env, id)); |
| 82 ScopedJavaLocalRef<jstring> jreferrer( | 85 ScopedJavaLocalRef<jstring> jreferrer( |
| 83 ConvertUTF8ToJavaString(env, referrer)); | 86 ConvertUTF8ToJavaString(env, referrer)); |
| 84 Java_AppBannerManager_fetchAppDetails(env, jobj.obj(), jurl.obj(), | 87 Java_AppBannerManager_fetchAppDetails(env, jobj.obj(), jurl.obj(), |
| 85 jpackage.obj(), jreferrer.obj(), | 88 jpackage.obj(), jreferrer.obj(), |
| 86 ideal_icon_size()); | 89 ideal_icon_size_in_dp()); |
| 87 return true; | 90 return true; |
| 88 } | 91 } |
| 89 | 92 |
| 90 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform, | 93 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform, |
| 91 const std::string& id) { | 94 const std::string& id) { |
| 92 if (platform != kPlayPlatform) { | 95 if (platform != kPlayPlatform) { |
| 93 banners::OutputDeveloperDebugMessage( | 96 banners::OutputDeveloperDebugMessage( |
| 94 web_contents(), platform + banners::kIgnoredNotSupportedOnAndroid); | 97 web_contents(), platform + banners::kIgnoredNotSupportedOnAndroid); |
| 95 return false; | 98 return false; |
| 96 } | 99 } |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 125 std::string key_str(url_spec, key.begin, key.len); | 128 std::string key_str(url_spec, key.begin, key.len); |
| 126 std::string value_str(url_spec, value.begin, value.len); | 129 std::string value_str(url_spec, value.begin, value.len); |
| 127 if (key_str == name) | 130 if (key_str == name) |
| 128 return value_str; | 131 return value_str; |
| 129 } | 132 } |
| 130 return ""; | 133 return ""; |
| 131 } | 134 } |
| 132 | 135 |
| 133 AppBannerDataFetcher* AppBannerManagerAndroid::CreateAppBannerDataFetcher( | 136 AppBannerDataFetcher* AppBannerManagerAndroid::CreateAppBannerDataFetcher( |
| 134 base::WeakPtr<Delegate> weak_delegate, | 137 base::WeakPtr<Delegate> weak_delegate, |
| 135 const int ideal_icon_size) { | 138 const int ideal_icon_size_in_dp) { |
| 136 return new AppBannerDataFetcherAndroid(web_contents(), weak_delegate, | 139 return new AppBannerDataFetcherAndroid(web_contents(), weak_delegate, |
| 137 ideal_icon_size); | 140 ideal_splash_image_size_in_dp_, |
| 141 ideal_icon_size_in_dp); | |
| 138 } | 142 } |
| 139 | 143 |
| 140 bool AppBannerManagerAndroid::OnAppDetailsRetrieved(JNIEnv* env, | 144 bool AppBannerManagerAndroid::OnAppDetailsRetrieved(JNIEnv* env, |
| 141 jobject obj, | 145 jobject obj, |
| 142 jobject japp_data, | 146 jobject japp_data, |
| 143 jstring japp_title, | 147 jstring japp_title, |
| 144 jstring japp_package, | 148 jstring japp_package, |
| 145 jstring jicon_url) { | 149 jstring jicon_url) { |
| 146 if (!CheckFetcherMatchesContents()) | 150 if (!CheckFetcherMatchesContents()) |
| 147 return false; | 151 return false; |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 160 | 164 |
| 161 bool AppBannerManagerAndroid::IsFetcherActive(JNIEnv* env, jobject obj) { | 165 bool AppBannerManagerAndroid::IsFetcherActive(JNIEnv* env, jobject obj) { |
| 162 return AppBannerManager::IsFetcherActive(); | 166 return AppBannerManager::IsFetcherActive(); |
| 163 } | 167 } |
| 164 | 168 |
| 165 // static | 169 // static |
| 166 bool AppBannerManagerAndroid::Register(JNIEnv* env) { | 170 bool AppBannerManagerAndroid::Register(JNIEnv* env) { |
| 167 return RegisterNativesImpl(env); | 171 return RegisterNativesImpl(env); |
| 168 } | 172 } |
| 169 | 173 |
| 170 jlong Init(JNIEnv* env, jobject obj, jint icon_size) { | 174 jlong Init(JNIEnv* env, |
| 175 jobject obj, | |
| 176 jint ideal_splash_image_size_in_dp, | |
| 177 jint ideal_icon_size_in_dp) { | |
| 171 AppBannerManagerAndroid* manager = | 178 AppBannerManagerAndroid* manager = |
| 172 new AppBannerManagerAndroid(env, obj, icon_size); | 179 new AppBannerManagerAndroid(env, obj, |
| 180 ideal_splash_image_size_in_dp, ideal_icon_size_in_dp); | |
| 173 return reinterpret_cast<intptr_t>(manager); | 181 return reinterpret_cast<intptr_t>(manager); |
| 174 } | 182 } |
| 175 | 183 |
| 176 void SetTimeDeltaForTesting(JNIEnv* env, jclass clazz, jint days) { | 184 void SetTimeDeltaForTesting(JNIEnv* env, jclass clazz, jint days) { |
| 177 AppBannerDataFetcher::SetTimeDeltaForTesting(days); | 185 AppBannerDataFetcher::SetTimeDeltaForTesting(days); |
| 178 } | 186 } |
| 179 | 187 |
| 180 void DisableSecureSchemeCheckForTesting(JNIEnv* env, jclass clazz) { | 188 void DisableSecureSchemeCheckForTesting(JNIEnv* env, jclass clazz) { |
| 181 AppBannerManager::DisableSecureSchemeCheckForTesting(); | 189 AppBannerManager::DisableSecureSchemeCheckForTesting(); |
| 182 } | 190 } |
| 183 | 191 |
| 184 void ForceEngagementWeightsForTesting(JNIEnv* env, | 192 void ForceEngagementWeightsForTesting(JNIEnv* env, |
| 185 jclass clazz, | 193 jclass clazz, |
| 186 jdouble direct_engagement, | 194 jdouble direct_engagement, |
| 187 jdouble indirect_engagement) { | 195 jdouble indirect_engagement) { |
| 188 AppBannerManager::ForceEngagementWeightsForTesting(direct_engagement, | 196 AppBannerManager::ForceEngagementWeightsForTesting(direct_engagement, |
| 189 indirect_engagement); | 197 indirect_engagement); |
| 190 } | 198 } |
| 191 | 199 |
| 192 jboolean IsEnabled(JNIEnv* env, jclass clazz) { | 200 jboolean IsEnabled(JNIEnv* env, jclass clazz) { |
| 193 return base::FieldTrialList::FindFullName("AppBanners") == "Enabled"; | 201 return base::FieldTrialList::FindFullName("AppBanners") == "Enabled"; |
| 194 } | 202 } |
| 195 | 203 |
| 196 } // namespace banners | 204 } // namespace banners |
| OLD | NEW |