| 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 | 8 |
| 9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
| 10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 } | 104 } |
| 105 | 105 |
| 106 bool AppBannerManagerAndroid::OnAppDetailsRetrieved( | 106 bool AppBannerManagerAndroid::OnAppDetailsRetrieved( |
| 107 JNIEnv* env, | 107 JNIEnv* env, |
| 108 const JavaParamRef<jobject>& obj, | 108 const JavaParamRef<jobject>& obj, |
| 109 const JavaParamRef<jobject>& japp_data, | 109 const JavaParamRef<jobject>& japp_data, |
| 110 const JavaParamRef<jstring>& japp_title, | 110 const JavaParamRef<jstring>& japp_title, |
| 111 const JavaParamRef<jstring>& japp_package, | 111 const JavaParamRef<jstring>& japp_package, |
| 112 const JavaParamRef<jstring>& jicon_url) { | 112 const JavaParamRef<jstring>& jicon_url) { |
| 113 native_app_data_.Reset(japp_data); | 113 native_app_data_.Reset(japp_data); |
| 114 app_title_ = ConvertJavaStringToUTF16(env, japp_title); | 114 native_app_title_ = ConvertJavaStringToUTF16(env, japp_title); |
| 115 native_app_package_ = ConvertJavaStringToUTF8(env, japp_package); | 115 native_app_package_ = ConvertJavaStringToUTF8(env, japp_package); |
| 116 primary_icon_url_ = GURL(ConvertJavaStringToUTF8(env, jicon_url)); | 116 primary_icon_url_ = GURL(ConvertJavaStringToUTF8(env, jicon_url)); |
| 117 | 117 |
| 118 if (!CheckIfShouldShowBanner()) | 118 if (!CheckIfShouldShowBanner()) |
| 119 return false; | 119 return false; |
| 120 | 120 |
| 121 return ManifestIconDownloader::Download( | 121 return ManifestIconDownloader::Download( |
| 122 web_contents(), primary_icon_url_, GetIdealPrimaryIconSizeInPx(), | 122 web_contents(), primary_icon_url_, GetIdealPrimaryIconSizeInPx(), |
| 123 GetMinimumPrimaryIconSizeInPx(), | 123 GetMinimumPrimaryIconSizeInPx(), |
| 124 base::Bind(&AppBannerManager::OnAppIconFetched, GetWeakPtr())); | 124 base::Bind(&AppBannerManager::OnAppIconFetched, GetWeakPtr())); |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 native_app_data_.Reset(); | 238 native_app_data_.Reset(); |
| 239 native_app_package_ = ""; | 239 native_app_package_ = ""; |
| 240 } | 240 } |
| 241 | 241 |
| 242 void AppBannerManagerAndroid::ShowBanner() { | 242 void AppBannerManagerAndroid::ShowBanner() { |
| 243 content::WebContents* contents = web_contents(); | 243 content::WebContents* contents = web_contents(); |
| 244 DCHECK(contents); | 244 DCHECK(contents); |
| 245 | 245 |
| 246 if (native_app_data_.is_null()) { | 246 if (native_app_data_.is_null()) { |
| 247 if (AppBannerInfoBarDelegateAndroid::Create( | 247 if (AppBannerInfoBarDelegateAndroid::Create( |
| 248 contents, GetWeakPtr(), app_title_, | 248 contents, GetWeakPtr(), |
| 249 CreateShortcutInfo(manifest_url_, manifest_, primary_icon_url_, | 249 CreateShortcutInfo(manifest_url_, manifest_, primary_icon_url_, |
| 250 badge_icon_url_, can_install_webapk_), | 250 badge_icon_url_, can_install_webapk_), |
| 251 primary_icon_, badge_icon_, event_request_id(), can_install_webapk_, | 251 primary_icon_, badge_icon_, event_request_id(), can_install_webapk_, |
| 252 webapk::INSTALL_SOURCE_BANNER)) { | 252 webapk::INSTALL_SOURCE_BANNER)) { |
| 253 RecordDidShowBanner("AppBanner.WebApp.Shown"); | 253 RecordDidShowBanner("AppBanner.WebApp.Shown"); |
| 254 TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED); | 254 TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED); |
| 255 ReportStatus(contents, SHOWING_WEB_APP_BANNER); | 255 ReportStatus(contents, SHOWING_WEB_APP_BANNER); |
| 256 } else { | 256 } else { |
| 257 ReportStatus(contents, FAILED_TO_CREATE_BANNER); | 257 ReportStatus(contents, FAILED_TO_CREATE_BANNER); |
| 258 } | 258 } |
| 259 } else { | 259 } else { |
| 260 if (AppBannerInfoBarDelegateAndroid::Create( | 260 if (AppBannerInfoBarDelegateAndroid::Create( |
| 261 contents, app_title_, native_app_data_, primary_icon_, | 261 contents, native_app_title_, native_app_data_, primary_icon_, |
| 262 native_app_package_, referrer_, event_request_id())) { | 262 native_app_package_, referrer_, event_request_id())) { |
| 263 RecordDidShowBanner("AppBanner.NativeApp.Shown"); | 263 RecordDidShowBanner("AppBanner.NativeApp.Shown"); |
| 264 TrackDisplayEvent(DISPLAY_EVENT_NATIVE_APP_BANNER_CREATED); | 264 TrackDisplayEvent(DISPLAY_EVENT_NATIVE_APP_BANNER_CREATED); |
| 265 ReportStatus(contents, SHOWING_NATIVE_APP_BANNER); | 265 ReportStatus(contents, SHOWING_NATIVE_APP_BANNER); |
| 266 } else { | 266 } else { |
| 267 ReportStatus(contents, FAILED_TO_CREATE_BANNER); | 267 ReportStatus(contents, FAILED_TO_CREATE_BANNER); |
| 268 } | 268 } |
| 269 } | 269 } |
| 270 } | 270 } |
| 271 | 271 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 } | 371 } |
| 372 | 372 |
| 373 // static | 373 // static |
| 374 void SetTotalEngagementToTrigger(JNIEnv* env, | 374 void SetTotalEngagementToTrigger(JNIEnv* env, |
| 375 const JavaParamRef<jclass>& clazz, | 375 const JavaParamRef<jclass>& clazz, |
| 376 jdouble engagement) { | 376 jdouble engagement) { |
| 377 AppBannerSettingsHelper::SetTotalEngagementToTrigger(engagement); | 377 AppBannerSettingsHelper::SetTotalEngagementToTrigger(engagement); |
| 378 } | 378 } |
| 379 | 379 |
| 380 } // namespace banners | 380 } // namespace banners |
| OLD | NEW |