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 |