Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java |
| index e1f967c538f5aad50bb636073ed8e02e6f384e44..59d98d958b257cbd7cd276bb9fe791c251062bc0 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java |
| @@ -18,6 +18,7 @@ import org.chromium.chrome.browser.ChromeSwitches; |
| import org.chromium.chrome.browser.tab.Tab; |
| import org.chromium.webapk.lib.client.WebApkVersion; |
| +import java.util.Set; |
| import java.util.concurrent.TimeUnit; |
| /** |
| @@ -127,9 +128,9 @@ public class WebApkUpdateManager implements ManifestUpgradeDetector.Callback { |
| recordUpdate(storage, false); |
| if (data != null) { |
| - updateAsync(data.startUrl, data.scopeUrl, data.name, data.shortName, data.iconUrl, |
| - data.iconMurmur2Hash, data.icon, data.displayMode, data.orientation, |
| - data.themeColor, data.backgroundColor); |
| + updateAsync(data.startUrl, data.scopeUrl, data.name, data.shortName, data.bestIconUrl, |
| + data.bestIconMurmur2Hash, data.bestIcon, data.iconUrls, data.displayMode, |
| + data.orientation, data.themeColor, data.backgroundColor); |
| return; |
| } |
| @@ -149,21 +150,26 @@ public class WebApkUpdateManager implements ManifestUpgradeDetector.Callback { |
| * Android Manifest. |
| */ |
| private void updateAsyncUsingAndroidManifestMetaData() { |
| + // If the Web Manifest isn't available anymore, it is impossible to know which is the best |
| + // icon URL. In this case, pass an empty URL to tell the server that there isn't a best |
| + // icon URL. |
| updateAsync(mMetaData.startUrl, mMetaData.scope, mMetaData.name, mMetaData.shortName, |
| - mMetaData.iconUrl, mMetaData.iconMurmur2Hash, mIcon, mMetaData.displayMode, |
| - mMetaData.orientation, mMetaData.themeColor, mMetaData.backgroundColor); |
| + "", "", mIcon, mMetaData.iconUrlAndIconMurmur2HashMap.keySet(), |
| + mMetaData.displayMode, mMetaData.orientation, mMetaData.themeColor, |
| + mMetaData.backgroundColor); |
| } |
| /** |
| * Sends request to WebAPK Server to update WebAPK. |
| */ |
| protected void updateAsync(String startUrl, String scopeUrl, String name, String shortName, |
| - String iconUrl, String iconMurmur2Hash, Bitmap icon, int displayMode, int orientation, |
| - long themeColor, long backgroundColor) { |
| + String bestIconUrl, String bestIconMurmur2Hash, Bitmap bestIcon, Set<String> iconUrls, |
|
dominickn
2016/11/17 02:34:38
This shouldn't be a set.
Xi Han
2016/11/17 18:09:58
As mentioned before, using Set can ignore the orde
|
| + int displayMode, int orientation, long themeColor, long backgroundColor) { |
| int versionCode = readVersionCodeFromAndroidManifest(mWebApkPackageName); |
| - nativeUpdateAsync(mId, startUrl, scopeUrl, name, shortName, iconUrl, iconMurmur2Hash, icon, |
| - displayMode, orientation, themeColor, backgroundColor, mMetaData.manifestUrl, |
| - mWebApkPackageName, versionCode); |
| + nativeUpdateAsync(mId, startUrl, scopeUrl, name, shortName, bestIconUrl, |
| + bestIconMurmur2Hash, bestIcon, iconUrls.toArray(new String[0]), displayMode, |
|
dominickn
2016/11/17 02:34:38
Declare String[] iconUrlsArray = new String[iconUr
Xi Han
2016/11/17 18:09:58
Done.
|
| + orientation, themeColor, backgroundColor, mMetaData.manifestUrl, mWebApkPackageName, |
| + versionCode); |
| } |
| /** |
| @@ -288,7 +294,7 @@ public class WebApkUpdateManager implements ManifestUpgradeDetector.Callback { |
| } |
| private static native void nativeUpdateAsync(String id, String startUrl, String scope, |
| - String name, String shortName, String iconUrl, String iconMurmur2Hash, Bitmap icon, |
| - int displayMode, int orientation, long themeColor, long backgroundColor, |
| - String manifestUrl, String webApkPackage, int webApkVersion); |
| + String name, String shortName, String bestIconUrl, String bestIconMurmur2Hash, |
| + Bitmap bestIcon, String[] iconUrls, int displayMode, int orientation, long themeColor, |
| + long backgroundColor, String manifestUrl, String webApkPackage, int webApkVersion); |
| } |