From a028b2a171a4243740a9e39a6272a28bfdc11ddb Mon Sep 17 00:00:00 2001 From: Michael Comella Date: Mon, 1 Jun 2015 15:33:11 -0700 Subject: [PATCH] Bug 1170289 - Set default search engine favicon to magnifying glass. r?Margaret This doesn't work for the Settings screen (bug 1170346). --HG-- extra : commitid : 4Nfxo9FZGRp extra : rebase_source : 0246d346d8ba5c21624d9bbfa26f14d6c30d37fd --- mobile/android/base/home/BrowserSearch.java | 2 +- mobile/android/base/home/SearchEngine.java | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/mobile/android/base/home/BrowserSearch.java b/mobile/android/base/home/BrowserSearch.java index 2689c53e1893..1020bfbf3a6d 100644 --- a/mobile/android/base/home/BrowserSearch.java +++ b/mobile/android/base/home/BrowserSearch.java @@ -554,7 +554,7 @@ public class BrowserSearch extends HomeFragment ArrayList searchEngines = new ArrayList(); for (int i = 0; i < engines.length(); i++) { final JSONObject engineJSON = engines.getJSONObject(i); - final SearchEngine engine = new SearchEngine(engineJSON); + final SearchEngine engine = new SearchEngine((Context) getActivity(), engineJSON); if (engine.name.equals(suggestEngine) && suggestTemplate != null) { // Suggest engine should be at the front of the list. diff --git a/mobile/android/base/home/SearchEngine.java b/mobile/android/base/home/SearchEngine.java index 0ee241f5646e..268381ae5436 100644 --- a/mobile/android/base/home/SearchEngine.java +++ b/mobile/android/base/home/SearchEngine.java @@ -6,11 +6,14 @@ package org.mozilla.gecko.home; import org.mozilla.gecko.gfx.BitmapUtils; +import org.mozilla.gecko.R; import org.json.JSONException; import org.json.JSONObject; +import android.content.Context; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.util.Log; import java.util.ArrayList; @@ -25,7 +28,7 @@ public class SearchEngine { private final Bitmap icon; private volatile List suggestions = new ArrayList(); // Never null. - public SearchEngine(JSONObject engineJSON) throws JSONException { + public SearchEngine(final Context context, final JSONObject engineJSON) throws JSONException { if (engineJSON == null) { throw new IllegalArgumentException("Can't instantiate SearchEngine from null JSON."); } @@ -40,10 +43,14 @@ public class SearchEngine { final String iconURI = getString(engineJSON, "iconURI"); if (iconURI == null) { Log.w(LOG_TAG, "iconURI is null for search engine " + this.name); - this.icon = null; - return; } - this.icon = BitmapUtils.getBitmapFromDataURI(iconURI); + final Bitmap tempIcon = BitmapUtils.getBitmapFromDataURI(iconURI); + + this.icon = (tempIcon != null) ? tempIcon : getDefaultFavicon(context); + } + + private Bitmap getDefaultFavicon(final Context context) { + return BitmapFactory.decodeResource(context.getResources(), R.drawable.favicon_search); } private static String getString(JSONObject data, String key) throws JSONException {