OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/webapk/webapk_update_manager.h" | 5 #include "chrome/browser/android/webapk/webapk_update_manager.h" |
6 | 6 |
7 #include <jni.h> | 7 #include <jni.h> |
8 | 8 |
9 #include "base/android/jni_array.h" | 9 #include "base/android/jni_array.h" |
10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "url/gurl.h" | 21 #include "url/gurl.h" |
22 | 22 |
23 using base::android::JavaParamRef; | 23 using base::android::JavaParamRef; |
24 | 24 |
25 // static | 25 // static |
26 bool WebApkUpdateManager::Register(JNIEnv* env) { | 26 bool WebApkUpdateManager::Register(JNIEnv* env) { |
27 return RegisterNativesImpl(env); | 27 return RegisterNativesImpl(env); |
28 } | 28 } |
29 | 29 |
30 // static | 30 // static |
31 void WebApkUpdateManager::OnBuiltWebApk(const std::string& id, | 31 void WebApkUpdateManager::OnBuiltWebApk( |
32 bool success, | 32 const std::string& id, |
33 const std::string& webapk_package) { | 33 bool success, |
| 34 const WebApkInstallService::FinishCallbackData& data) { |
34 JNIEnv* env = base::android::AttachCurrentThread(); | 35 JNIEnv* env = base::android::AttachCurrentThread(); |
35 | 36 |
36 if (success) { | 37 if (success) { |
37 DVLOG(1) | 38 DVLOG(1) |
38 << "Sent request to update WebAPK to server. Seems to have worked."; | 39 << "Sent request to update WebAPK to server. Seems to have worked."; |
39 } else { | 40 } else { |
40 LOG(WARNING) << "Server request to update WebAPK failed."; | 41 LOG(WARNING) << "Server request to update WebAPK failed."; |
41 } | 42 } |
42 | 43 |
43 base::android::ScopedJavaLocalRef<jstring> java_id = | 44 base::android::ScopedJavaLocalRef<jstring> java_id = |
44 base::android::ConvertUTF8ToJavaString(env, id); | 45 base::android::ConvertUTF8ToJavaString(env, id); |
45 Java_WebApkUpdateManager_onBuiltWebApk(env, java_id.obj(), success); | 46 Java_WebApkUpdateManager_onBuiltWebApk( |
| 47 env, java_id.obj(), success, data.infrequent_updates); |
46 } | 48 } |
47 | 49 |
48 // static JNI method. | 50 // static JNI method. |
49 static void UpdateAsync( | 51 static void UpdateAsync( |
50 JNIEnv* env, | 52 JNIEnv* env, |
51 const JavaParamRef<jclass>& clazz, | 53 const JavaParamRef<jclass>& clazz, |
52 const JavaParamRef<jstring>& java_id, | 54 const JavaParamRef<jstring>& java_id, |
53 const JavaParamRef<jstring>& java_start_url, | 55 const JavaParamRef<jstring>& java_start_url, |
54 const JavaParamRef<jstring>& java_scope, | 56 const JavaParamRef<jstring>& java_scope, |
55 const JavaParamRef<jstring>& java_name, | 57 const JavaParamRef<jstring>& java_name, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 | 107 |
106 gfx::JavaBitmap java_bitmap_lock(java_best_icon_bitmap); | 108 gfx::JavaBitmap java_bitmap_lock(java_best_icon_bitmap); |
107 SkBitmap best_icon_bitmap = | 109 SkBitmap best_icon_bitmap = |
108 gfx::CreateSkBitmapFromJavaBitmap(java_bitmap_lock); | 110 gfx::CreateSkBitmapFromJavaBitmap(java_bitmap_lock); |
109 best_icon_bitmap.setImmutable(); | 111 best_icon_bitmap.setImmutable(); |
110 | 112 |
111 std::string webapk_package; | 113 std::string webapk_package; |
112 ConvertJavaStringToUTF8(env, java_webapk_package, &webapk_package); | 114 ConvertJavaStringToUTF8(env, java_webapk_package, &webapk_package); |
113 | 115 |
114 WebApkInstallService* install_service = WebApkInstallService::Get(profile); | 116 WebApkInstallService* install_service = WebApkInstallService::Get(profile); |
| 117 WebApkInstallService::FinishCallbackData data = {"", false}; |
115 if (install_service->IsInstallInProgress(info.manifest_url)) { | 118 if (install_service->IsInstallInProgress(info.manifest_url)) { |
116 base::ThreadTaskRunnerHandle::Get()->PostTask( | 119 base::ThreadTaskRunnerHandle::Get()->PostTask( |
117 FROM_HERE, | 120 FROM_HERE, |
118 base::Bind(&WebApkUpdateManager::OnBuiltWebApk, id, false, "")); | 121 base::Bind(&WebApkUpdateManager::OnBuiltWebApk, id, false, data)); |
119 return; | 122 return; |
120 } | 123 } |
121 install_service->UpdateAsync( | 124 install_service->UpdateAsync( |
122 info, best_icon_bitmap, webapk_package, java_webapk_version, | 125 info, best_icon_bitmap, webapk_package, java_webapk_version, |
123 icon_url_to_murmur2_hash, java_is_manifest_stale, | 126 icon_url_to_murmur2_hash, java_is_manifest_stale, |
124 base::Bind(&WebApkUpdateManager::OnBuiltWebApk, id)); | 127 base::Bind(&WebApkUpdateManager::OnBuiltWebApk, id)); |
125 } | 128 } |
OLD | NEW |