| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 package org.chromium.chrome.browser.suggestions; | 5 package org.chromium.chrome.browser.suggestions; |
| 6 | 6 |
| 7 import android.content.Context; | 7 import android.content.Context; |
| 8 import android.content.res.Resources; | 8 import android.content.res.Resources; |
| 9 import android.graphics.Bitmap; | 9 import android.graphics.Bitmap; |
| 10 import android.graphics.BitmapFactory; | 10 import android.graphics.BitmapFactory; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 import org.chromium.base.ApiCompatibilityUtils; | 24 import org.chromium.base.ApiCompatibilityUtils; |
| 25 import org.chromium.base.Callback; | 25 import org.chromium.base.Callback; |
| 26 import org.chromium.base.Log; | 26 import org.chromium.base.Log; |
| 27 import org.chromium.base.VisibleForTesting; | 27 import org.chromium.base.VisibleForTesting; |
| 28 import org.chromium.chrome.R; | 28 import org.chromium.chrome.R; |
| 29 import org.chromium.chrome.browser.ChromeFeatureList; | 29 import org.chromium.chrome.browser.ChromeFeatureList; |
| 30 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; | 30 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; |
| 31 import org.chromium.chrome.browser.ntp.ContextMenuManager; | 31 import org.chromium.chrome.browser.ntp.ContextMenuManager; |
| 32 import org.chromium.chrome.browser.ntp.ContextMenuManager.ContextMenuItemId; | 32 import org.chromium.chrome.browser.ntp.ContextMenuManager.ContextMenuItemId; |
| 33 import org.chromium.chrome.browser.ntp.MostVisitedTileType; | |
| 34 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; | 33 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; |
| 35 import org.chromium.chrome.browser.widget.RoundedIconGenerator; | 34 import org.chromium.chrome.browser.widget.RoundedIconGenerator; |
| 36 import org.chromium.ui.mojom.WindowOpenDisposition; | 35 import org.chromium.ui.mojom.WindowOpenDisposition; |
| 37 | 36 |
| 38 import java.util.ArrayList; | 37 import java.util.ArrayList; |
| 39 import java.util.Arrays; | 38 import java.util.Arrays; |
| 40 import java.util.HashMap; | 39 import java.util.HashMap; |
| 41 import java.util.HashSet; | 40 import java.util.HashSet; |
| 42 import java.util.List; | 41 import java.util.List; |
| 43 import java.util.Map; | 42 import java.util.Map; |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 @Nullable Bitmap icon, int fallbackColor, boolean isFallbackColo
rDefault) { | 400 @Nullable Bitmap icon, int fallbackColor, boolean isFallbackColo
rDefault) { |
| 402 if (mTrackLoadTask) mObserver.onLoadTaskCompleted(); | 401 if (mTrackLoadTask) mObserver.onLoadTaskCompleted(); |
| 403 | 402 |
| 404 Tile tile = getTile(mUrl); | 403 Tile tile = getTile(mUrl); |
| 405 if (tile == null) return; // The tile might have been removed. | 404 if (tile == null) return; // The tile might have been removed. |
| 406 | 405 |
| 407 if (icon == null) { | 406 if (icon == null) { |
| 408 mIconGenerator.setBackgroundColor(fallbackColor); | 407 mIconGenerator.setBackgroundColor(fallbackColor); |
| 409 icon = mIconGenerator.generateIconForUrl(mUrl); | 408 icon = mIconGenerator.generateIconForUrl(mUrl); |
| 410 tile.setIcon(new BitmapDrawable(mContext.getResources(), icon)); | 409 tile.setIcon(new BitmapDrawable(mContext.getResources(), icon)); |
| 411 tile.setType(isFallbackColorDefault ? MostVisitedTileType.ICON_D
EFAULT | 410 tile.setType(isFallbackColorDefault ? TileVisualType.ICON_DEFAUL
T |
| 412 : MostVisitedTileType.ICON_C
OLOR); | 411 : TileVisualType.ICON_COLOR)
; |
| 413 } else { | 412 } else { |
| 414 RoundedBitmapDrawable roundedIcon = | 413 RoundedBitmapDrawable roundedIcon = |
| 415 RoundedBitmapDrawableFactory.create(mContext.getResource
s(), icon); | 414 RoundedBitmapDrawableFactory.create(mContext.getResource
s(), icon); |
| 416 int cornerRadius = Math.round(ICON_CORNER_RADIUS_DP | 415 int cornerRadius = Math.round(ICON_CORNER_RADIUS_DP |
| 417 * mContext.getResources().getDisplayMetrics().density *
icon.getWidth() | 416 * mContext.getResources().getDisplayMetrics().density *
icon.getWidth() |
| 418 / mDesiredIconSize); | 417 / mDesiredIconSize); |
| 419 roundedIcon.setCornerRadius(cornerRadius); | 418 roundedIcon.setCornerRadius(cornerRadius); |
| 420 roundedIcon.setAntiAlias(true); | 419 roundedIcon.setAntiAlias(true); |
| 421 roundedIcon.setFilterBitmap(true); | 420 roundedIcon.setFilterBitmap(true); |
| 422 | 421 |
| 423 tile.setIcon(roundedIcon); | 422 tile.setIcon(roundedIcon); |
| 424 tile.setType(MostVisitedTileType.ICON_REAL); | 423 tile.setType(TileVisualType.ICON_REAL); |
| 425 } | 424 } |
| 426 | 425 |
| 427 mObserver.onTileIconChanged(tile); | 426 mObserver.onTileIconChanged(tile); |
| 428 } | 427 } |
| 429 } | 428 } |
| 430 | 429 |
| 431 private class TileInteractionDelegate | 430 private class TileInteractionDelegate |
| 432 implements ContextMenuManager.Delegate, OnClickListener, OnCreateCon
textMenuListener { | 431 implements ContextMenuManager.Delegate, OnClickListener, OnCreateCon
textMenuListener { |
| 433 private final String mUrl; | 432 private final String mUrl; |
| 434 | 433 |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 508 if (oldOfflineAvailable == tile.isOfflineAvailable()) return; | 507 if (oldOfflineAvailable == tile.isOfflineAvailable()) return; |
| 509 mObserver.onTileOfflineBadgeVisibilityChanged(tile); | 508 mObserver.onTileOfflineBadgeVisibilityChanged(tile); |
| 510 } | 509 } |
| 511 | 510 |
| 512 @Override | 511 @Override |
| 513 public Iterable<Tile> getOfflinableSuggestions() { | 512 public Iterable<Tile> getOfflinableSuggestions() { |
| 514 return Arrays.asList(mTiles); | 513 return Arrays.asList(mTiles); |
| 515 } | 514 } |
| 516 } | 515 } |
| 517 } | 516 } |
| OLD | NEW |