| 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 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 JNIEnv* env = base::android::AttachCurrentThread(); | 272 JNIEnv* env = base::android::AttachCurrentThread(); |
| 273 java_banner_manager_.Reset( | 273 java_banner_manager_.Reset( |
| 274 Java_AppBannerManager_create(env, reinterpret_cast<intptr_t>(this))); | 274 Java_AppBannerManager_create(env, reinterpret_cast<intptr_t>(this))); |
| 275 } | 275 } |
| 276 | 276 |
| 277 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform, | 277 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform, |
| 278 const std::string& id) { | 278 const std::string& id) { |
| 279 const bool correct_platform = (platform == "play"); | 279 const bool correct_platform = (platform == "play"); |
| 280 if (correct_platform && !id.empty()) | 280 if (correct_platform && !id.empty()) |
| 281 return true; | 281 return true; |
| 282 ReportStatus(web_contents(), | 282 ReportStatus( |
| 283 correct_platform ? NO_ID_SPECIFIED | 283 web_contents(), |
| 284 : PLATFORM_NOT_SUPPORTED_ON_ANDROID); | 284 correct_platform ? NO_ID_SPECIFIED : PLATFORM_NOT_SUPPORTED_ON_ANDROID); |
| 285 return false; | 285 return false; |
| 286 } | 286 } |
| 287 | 287 |
| 288 std::string AppBannerManagerAndroid::ExtractQueryValueForName( | 288 std::string AppBannerManagerAndroid::ExtractQueryValueForName( |
| 289 const GURL& url, | 289 const GURL& url, |
| 290 const std::string& name) { | 290 const std::string& name) { |
| 291 for (net::QueryIterator it(url); !it.IsAtEnd(); it.Advance()) { | 291 for (net::QueryIterator it(url); !it.IsAtEnd(); it.Advance()) { |
| 292 if (it.GetKey() == name) | 292 if (it.GetKey() == name) |
| 293 return it.GetValue(); | 293 return it.GetValue(); |
| 294 } | 294 } |
| 295 return std::string(); | 295 return std::string(); |
| 296 } | 296 } |
| 297 | 297 |
| 298 // static | 298 // static |
| 299 bool AppBannerManagerAndroid::Register(JNIEnv* env) { | 299 bool AppBannerManagerAndroid::Register(JNIEnv* env) { |
| 300 return RegisterNativesImpl(env); | 300 return RegisterNativesImpl(env); |
| 301 } | 301 } |
| 302 | 302 |
| 303 // static | 303 // static |
| 304 jint GetHomescreenLanguageOption(JNIEnv* env, | 304 jint GetHomescreenLanguageOption(JNIEnv* env, |
| 305 const JavaParamRef<jclass>& clazz) { | 305 const JavaParamRef<jclass>& clazz) { |
| 306 return AppBannerSettingsHelper::GetHomescreenLanguageOption(); | 306 return AppBannerSettingsHelper::GetHomescreenLanguageOption(); |
| 307 } | 307 } |
| 308 | 308 |
| 309 | |
| 310 // static | 309 // static |
| 311 ScopedJavaLocalRef<jobject> GetJavaBannerManagerForWebContents( | 310 ScopedJavaLocalRef<jobject> GetJavaBannerManagerForWebContents( |
| 312 JNIEnv* env, | 311 JNIEnv* env, |
| 313 const JavaParamRef<jclass>& clazz, | 312 const JavaParamRef<jclass>& clazz, |
| 314 const JavaParamRef<jobject>& java_web_contents) { | 313 const JavaParamRef<jobject>& java_web_contents) { |
| 315 AppBannerManagerAndroid* manager = AppBannerManagerAndroid::FromWebContents( | 314 AppBannerManagerAndroid* manager = AppBannerManagerAndroid::FromWebContents( |
| 316 content::WebContents::FromJavaWebContents(java_web_contents)); | 315 content::WebContents::FromJavaWebContents(java_web_contents)); |
| 317 return manager? ScopedJavaLocalRef<jobject>(manager->GetJavaBannerManager()) | 316 return manager ? ScopedJavaLocalRef<jobject>(manager->GetJavaBannerManager()) |
| 318 : ScopedJavaLocalRef<jobject>(); | 317 : ScopedJavaLocalRef<jobject>(); |
| 319 } | 318 } |
| 320 | 319 |
| 321 // static | 320 // static |
| 322 void SetDaysAfterDismissAndIgnoreToTrigger(JNIEnv* env, | 321 void SetDaysAfterDismissAndIgnoreToTrigger(JNIEnv* env, |
| 323 const JavaParamRef<jclass>& clazz, | 322 const JavaParamRef<jclass>& clazz, |
| 324 jint dismiss_days, | 323 jint dismiss_days, |
| 325 jint ignore_days) { | 324 jint ignore_days) { |
| 326 AppBannerSettingsHelper::SetDaysAfterDismissAndIgnoreToTrigger(dismiss_days, | 325 AppBannerSettingsHelper::SetDaysAfterDismissAndIgnoreToTrigger(dismiss_days, |
| 327 ignore_days); | 326 ignore_days); |
| 328 } | 327 } |
| 329 | 328 |
| 330 // static | 329 // static |
| 331 void SetTimeDeltaForTesting(JNIEnv* env, | 330 void SetTimeDeltaForTesting(JNIEnv* env, |
| 332 const JavaParamRef<jclass>& clazz, | 331 const JavaParamRef<jclass>& clazz, |
| 333 jint days) { | 332 jint days) { |
| 334 AppBannerManager::SetTimeDeltaForTesting(days); | 333 AppBannerManager::SetTimeDeltaForTesting(days); |
| 335 } | 334 } |
| 336 | 335 |
| 337 // static | 336 // static |
| 338 void SetTotalEngagementToTrigger(JNIEnv* env, | 337 void SetTotalEngagementToTrigger(JNIEnv* env, |
| 339 const JavaParamRef<jclass>& clazz, | 338 const JavaParamRef<jclass>& clazz, |
| 340 jdouble engagement) { | 339 jdouble engagement) { |
| 341 AppBannerSettingsHelper::SetTotalEngagementToTrigger(engagement); | 340 AppBannerSettingsHelper::SetTotalEngagementToTrigger(engagement); |
| 342 } | 341 } |
| 343 | 342 |
| 344 } // namespace banners | 343 } // namespace banners |
| OLD | NEW |