Bug 1310621 - Drop the suggestions if search engines are not available. r=sebastian draft
authorNevin Chen <cnevinchen@gmail.com>
Fri, 28 Oct 2016 17:05:53 +0800
changeset 432106 1b3ad70a51e357cad85a6532230ff64e8b7ee294
parent 430701 944cb0fd05526894fcd90fbe7d1e625ee53cd73d
child 535554 7f0e6271286dc2c2d10e83a7d17f6df074a70a1e
push id34207
push userbmo:cnevinchen@gmail.com
push dateTue, 01 Nov 2016 08:18:43 +0000
reviewerssebastian
bugs1310621
milestone52.0a1
Bug 1310621 - Drop the suggestions if search engines are not available. r=sebastian MozReview-Commit-ID: FtGO45mfSay
mobile/android/base/java/org/mozilla/gecko/home/BrowserSearch.java
--- a/mobile/android/base/java/org/mozilla/gecko/home/BrowserSearch.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/BrowserSearch.java
@@ -682,18 +682,23 @@ public class BrowserSearch extends HomeF
             mSearchHistorySuggestionLoaderCallback = new SearchHistorySuggestionLoaderCallbacks();
         }
         getLoaderManager().restartLoader(LOADER_ID_SAVED_SUGGESTION, null, mSearchHistorySuggestionLoaderCallback);
     }
 
     private void setSuggestions(ArrayList<String> suggestions) {
         ThreadUtils.assertOnUiThread();
 
-        mSearchEngines.get(0).setSuggestions(suggestions);
-        mAdapter.notifyDataSetChanged();
+        // mSearchEngines may be null if the setSuggestions calls after onDestroy (bug 1310621).
+        // So drop the suggestions if search engines are not available
+        if (mSearchEngines != null && !mSearchEngines.isEmpty()) {
+            mSearchEngines.get(0).setSuggestions(suggestions);
+            mAdapter.notifyDataSetChanged();
+        }
+
     }
 
     private void setSavedSuggestions(ArrayList<String> savedSuggestions) {
         ThreadUtils.assertOnUiThread();
 
         mSearchHistorySuggestions = savedSuggestions;
         mAdapter.notifyDataSetChanged();
     }