| 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 <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 namespace { | 37 namespace { |
| 38 | 38 |
| 39 std::unique_ptr<ShortcutInfo> CreateShortcutInfo( | 39 std::unique_ptr<ShortcutInfo> CreateShortcutInfo( |
| 40 const GURL& manifest_url, | 40 const GURL& manifest_url, |
| 41 const content::Manifest& manifest, | 41 const content::Manifest& manifest, |
| 42 const GURL& icon_url) { | 42 const GURL& icon_url) { |
| 43 auto shortcut_info = base::MakeUnique<ShortcutInfo>(GURL()); | 43 auto shortcut_info = base::MakeUnique<ShortcutInfo>(GURL()); |
| 44 if (!manifest.IsEmpty()) { | 44 if (!manifest.IsEmpty()) { |
| 45 shortcut_info->UpdateFromManifest(manifest); | 45 shortcut_info->UpdateFromManifest(manifest); |
| 46 shortcut_info->manifest_url = manifest_url; | 46 shortcut_info->manifest_url = manifest_url; |
| 47 shortcut_info->best_icon_url = icon_url; | 47 shortcut_info->best_primary_icon_url = icon_url; |
| 48 shortcut_info->UpdateSource(ShortcutInfo::SOURCE_APP_BANNER); | 48 shortcut_info->UpdateSource(ShortcutInfo::SOURCE_APP_BANNER); |
| 49 } | 49 } |
| 50 return shortcut_info; | 50 return shortcut_info; |
| 51 } | 51 } |
| 52 | 52 |
| 53 } // anonymous namespace | 53 } // anonymous namespace |
| 54 | 54 |
| 55 namespace banners { | 55 namespace banners { |
| 56 | 56 |
| 57 AppBannerManagerAndroid::AppBannerManagerAndroid( | 57 AppBannerManagerAndroid::AppBannerManagerAndroid( |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 JNIEnv* env = base::android::AttachCurrentThread(); | 266 JNIEnv* env = base::android::AttachCurrentThread(); |
| 267 java_banner_manager_.Reset( | 267 java_banner_manager_.Reset( |
| 268 Java_AppBannerManager_create(env, reinterpret_cast<intptr_t>(this))); | 268 Java_AppBannerManager_create(env, reinterpret_cast<intptr_t>(this))); |
| 269 } | 269 } |
| 270 | 270 |
| 271 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform, | 271 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform, |
| 272 const std::string& id) { | 272 const std::string& id) { |
| 273 const bool correct_platform = (platform == "play"); | 273 const bool correct_platform = (platform == "play"); |
| 274 if (correct_platform && !id.empty()) | 274 if (correct_platform && !id.empty()) |
| 275 return true; | 275 return true; |
| 276 ReportStatus(web_contents(), | 276 ReportStatus( |
| 277 correct_platform ? NO_ID_SPECIFIED | 277 web_contents(), |
| 278 : PLATFORM_NOT_SUPPORTED_ON_ANDROID); | 278 correct_platform ? NO_ID_SPECIFIED : PLATFORM_NOT_SUPPORTED_ON_ANDROID); |
| 279 return false; | 279 return false; |
| 280 } | 280 } |
| 281 | 281 |
| 282 std::string AppBannerManagerAndroid::ExtractQueryValueForName( | 282 std::string AppBannerManagerAndroid::ExtractQueryValueForName( |
| 283 const GURL& url, | 283 const GURL& url, |
| 284 const std::string& name) { | 284 const std::string& name) { |
| 285 for (net::QueryIterator it(url); !it.IsAtEnd(); it.Advance()) { | 285 for (net::QueryIterator it(url); !it.IsAtEnd(); it.Advance()) { |
| 286 if (it.GetKey() == name) | 286 if (it.GetKey() == name) |
| 287 return it.GetValue(); | 287 return it.GetValue(); |
| 288 } | 288 } |
| 289 return std::string(); | 289 return std::string(); |
| 290 } | 290 } |
| 291 | 291 |
| 292 // static | 292 // static |
| 293 bool AppBannerManagerAndroid::Register(JNIEnv* env) { | 293 bool AppBannerManagerAndroid::Register(JNIEnv* env) { |
| 294 return RegisterNativesImpl(env); | 294 return RegisterNativesImpl(env); |
| 295 } | 295 } |
| 296 | 296 |
| 297 // static | 297 // static |
| 298 jint GetHomescreenLanguageOption(JNIEnv* env, | 298 jint GetHomescreenLanguageOption(JNIEnv* env, |
| 299 const JavaParamRef<jclass>& clazz) { | 299 const JavaParamRef<jclass>& clazz) { |
| 300 return AppBannerSettingsHelper::GetHomescreenLanguageOption(); | 300 return AppBannerSettingsHelper::GetHomescreenLanguageOption(); |
| 301 } | 301 } |
| 302 | 302 |
| 303 | |
| 304 // static | 303 // static |
| 305 ScopedJavaLocalRef<jobject> GetJavaBannerManagerForWebContents( | 304 ScopedJavaLocalRef<jobject> GetJavaBannerManagerForWebContents( |
| 306 JNIEnv* env, | 305 JNIEnv* env, |
| 307 const JavaParamRef<jclass>& clazz, | 306 const JavaParamRef<jclass>& clazz, |
| 308 const JavaParamRef<jobject>& java_web_contents) { | 307 const JavaParamRef<jobject>& java_web_contents) { |
| 309 AppBannerManagerAndroid* manager = AppBannerManagerAndroid::FromWebContents( | 308 AppBannerManagerAndroid* manager = AppBannerManagerAndroid::FromWebContents( |
| 310 content::WebContents::FromJavaWebContents(java_web_contents)); | 309 content::WebContents::FromJavaWebContents(java_web_contents)); |
| 311 return manager? ScopedJavaLocalRef<jobject>(manager->GetJavaBannerManager()) | 310 return manager ? ScopedJavaLocalRef<jobject>(manager->GetJavaBannerManager()) |
| 312 : ScopedJavaLocalRef<jobject>(); | 311 : ScopedJavaLocalRef<jobject>(); |
| 313 } | 312 } |
| 314 | 313 |
| 315 // static | 314 // static |
| 316 void SetDaysAfterDismissAndIgnoreToTrigger(JNIEnv* env, | 315 void SetDaysAfterDismissAndIgnoreToTrigger(JNIEnv* env, |
| 317 const JavaParamRef<jclass>& clazz, | 316 const JavaParamRef<jclass>& clazz, |
| 318 jint dismiss_days, | 317 jint dismiss_days, |
| 319 jint ignore_days) { | 318 jint ignore_days) { |
| 320 AppBannerSettingsHelper::SetDaysAfterDismissAndIgnoreToTrigger(dismiss_days, | 319 AppBannerSettingsHelper::SetDaysAfterDismissAndIgnoreToTrigger(dismiss_days, |
| 321 ignore_days); | 320 ignore_days); |
| 322 } | 321 } |
| 323 | 322 |
| 324 // static | 323 // static |
| 325 void SetTimeDeltaForTesting(JNIEnv* env, | 324 void SetTimeDeltaForTesting(JNIEnv* env, |
| 326 const JavaParamRef<jclass>& clazz, | 325 const JavaParamRef<jclass>& clazz, |
| 327 jint days) { | 326 jint days) { |
| 328 AppBannerManager::SetTimeDeltaForTesting(days); | 327 AppBannerManager::SetTimeDeltaForTesting(days); |
| 329 } | 328 } |
| 330 | 329 |
| 331 // static | 330 // static |
| 332 void SetTotalEngagementToTrigger(JNIEnv* env, | 331 void SetTotalEngagementToTrigger(JNIEnv* env, |
| 333 const JavaParamRef<jclass>& clazz, | 332 const JavaParamRef<jclass>& clazz, |
| 334 jdouble engagement) { | 333 jdouble engagement) { |
| 335 AppBannerSettingsHelper::SetTotalEngagementToTrigger(engagement); | 334 AppBannerSettingsHelper::SetTotalEngagementToTrigger(engagement); |
| 336 } | 335 } |
| 337 | 336 |
| 338 } // namespace banners | 337 } // namespace banners |
| OLD | NEW |