Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyUrlsAdapter.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyUrlsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyUrlsAdapter.java |
| index fffd6c9164117b77ff70fa147cbf5d2b966b8e9d..b7610649c3199e6ae2a502fe78fe2ef63a2513b2 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyUrlsAdapter.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyUrlsAdapter.java |
| @@ -5,6 +5,7 @@ |
| package org.chromium.chrome.browser.physicalweb; |
| import android.content.Context; |
| +import android.graphics.Bitmap; |
| import android.view.LayoutInflater; |
| import android.view.View; |
| import android.view.ViewGroup; |
| @@ -14,16 +15,41 @@ import android.widget.TextView; |
| import org.chromium.chrome.R; |
| +import java.util.HashMap; |
| + |
| /** |
| * Adapter for displaying nearby URLs and associated metadata. |
| */ |
| class NearbyUrlsAdapter extends ArrayAdapter<PwsResult> { |
| + private HashMap<String, Bitmap> mIconUrlToIconMap; |
|
gone
2015/10/28 23:41:34
private final
|
| /** |
| * Construct an empty NearbyUrlsAdapter. |
| */ |
| public NearbyUrlsAdapter(Context context) { |
| super(context, 0); |
| + mIconUrlToIconMap = new HashMap<>(); |
| + } |
| + |
| + /** |
| + * Update the favicon for a nearby URL. |
| + * @param iconUrl The icon URL as returned by PWS |
| + * @param icon The favicon to display |
| + */ |
| + public void setIcon(String iconUrl, Bitmap icon) { |
| + if (iconUrl != null && icon != null) { |
| + mIconUrlToIconMap.put(iconUrl, icon); |
| + notifyDataSetChanged(); |
| + } |
| + } |
| + |
| + /** |
| + * Clear the list, forgetting cached URL metadata and icons. |
| + */ |
| + @Override |
| + public void clear() { |
| + super.clear(); |
| + mIconUrlToIconMap.clear(); |
| } |
| /** |
| @@ -46,10 +72,12 @@ class NearbyUrlsAdapter extends ArrayAdapter<PwsResult> { |
| ImageView iconImageView = (ImageView) view.findViewById(R.id.nearby_urls_icon); |
| PwsResult pwsResult = getItem(position); |
| + Bitmap iconBitmap = mIconUrlToIconMap.get(pwsResult.iconUrl); |
| + |
| titleTextView.setText(pwsResult.title); |
| urlTextView.setText(pwsResult.siteUrl); |
| descriptionTextView.setText(pwsResult.description); |
| - iconImageView.setImageBitmap(null); |
| + iconImageView.setImageBitmap(iconBitmap); |
| return view; |
| } |