Bug 888248 - java.lang.NullPointerException: at org.mozilla.gecko.health.BrowserHealthRecorder (recordSearch). r=nalexander
--- a/mobile/android/base/health/BrowserHealthRecorder.java
+++ b/mobile/android/base/health/BrowserHealthRecorder.java
@@ -772,19 +772,27 @@ public class BrowserHealthRecorder imple
if (location == null) {
throw new IllegalArgumentException("location must be provided for search.");
}
final int day = storage.getDay();
final int env = this.env;
final String key = getEngineKey(engine);
+ final BrowserHealthRecorder self = this;
+
ThreadUtils.postToBackgroundThread(new Runnable() {
@Override
public void run() {
+ final HealthReportDatabaseStorage storage = self.storage;
+ if (storage == null) {
+ Log.d(LOG_TAG, "No storage: not recording search. Shutting down?");
+ return;
+ }
+
Log.d(LOG_TAG, "Recording search: " + key + ", " + location +
" (" + day + ", " + env + ").");
final int searchField = storage.getField(MEASUREMENT_NAME_SEARCH_COUNTS,
MEASUREMENT_VERSION_SEARCH_COUNTS,
location)
.getID();
storage.recordDailyDiscrete(env, day, searchField, key);
}