@Override public boolean onPreferenceChange(Preference preference, Object newValue) { // CrashDumpUploadPreference listens to its own PreferenceChanged to update its text. // We have replaced the listener. If we do run into a CrashDumpUploadPreference change, // we will call onPreferenceChange to change the displayed text. if (preference instanceof CrashDumpUploadPreference) { ((CrashDumpUploadPreference) preference).onPreferenceChange(preference, newValue); } // NetworkPredictionPreference listens to its own PreferenceChanged to update its text. // We have replaced the listener. If we do run into a NetworkPredictionPreference change, // we will call onPreferenceChange to change the displayed text. if (preference instanceof NetworkPredictionPreference) { ((NetworkPredictionPreference) preference).onPreferenceChange(preference, newValue); } String key = preference.getKey(); if (PREF_SEARCH_SUGGESTIONS.equals(key)) { PrefServiceBridge.getInstance().setSearchSuggestEnabled((boolean) newValue); } else if (PREF_SAFE_BROWSING.equals(key)) { PrefServiceBridge.getInstance().setSafeBrowsingEnabled((boolean) newValue); } else if (PREF_SAFE_BROWSING_EXTENDED_REPORTING.equals(key)) { PrefServiceBridge.getInstance().setSafeBrowsingExtendedReportingEnabled((boolean) newValue); } else if (PREF_NETWORK_PREDICTIONS.equals(key)) { PrefServiceBridge.getInstance() .setNetworkPredictionOptions(NetworkPredictionOptions.stringToEnum((String) newValue)); PrecacheLauncher.updatePrecachingEnabled(getActivity()); } else if (PREF_NETWORK_PREDICTIONS_NO_CELLULAR.equals(key)) { PrefServiceBridge.getInstance() .setNetworkPredictionOptions( (boolean) newValue ? NetworkPredictionOptions.NETWORK_PREDICTION_ALWAYS : NetworkPredictionOptions.NETWORK_PREDICTION_NEVER); PrecacheLauncher.updatePrecachingEnabled(getActivity()); } else if (PREF_NAVIGATION_ERROR.equals(key)) { PrefServiceBridge.getInstance().setResolveNavigationErrorEnabled((boolean) newValue); } else if (PREF_CRASH_DUMP_UPLOAD_NO_CELLULAR.equals(key)) { PrefServiceBridge.getInstance().setCrashReporting((boolean) newValue); } else if (PREF_CRASH_DUMP_UPLOAD.equals(key)) { PrivacyPreferencesManager.getInstance(getActivity()).setUploadCrashDump((String) newValue); } return true; }