Index: chrome/browser/android/metrics/uma_session_stats.cc |
diff --git a/chrome/browser/android/metrics/uma_session_stats.cc b/chrome/browser/android/metrics/uma_session_stats.cc |
index be0a0ded2608b5be048b8482d6c9f6d8b02c495e..e209d4fddba7e04dd1df6da2e6c62fa15ad0fb12 100644 |
--- a/chrome/browser/android/metrics/uma_session_stats.cc |
+++ b/chrome/browser/android/metrics/uma_session_stats.cc |
@@ -108,6 +108,8 @@ static void UpdateMetricsServiceState(JNIEnv* env, |
DCHECK(metrics); |
if (metrics->recording_active() != may_record) { |
+ UpdateMetricsPrefsOnPermissionChange(may_record); |
+ |
// This function puts a consent file with the ClientID in the |
// data directory. The ID is passed to the renderer for crash |
// reporting when things go wrong. |
@@ -117,17 +119,6 @@ static void UpdateMetricsServiceState(JNIEnv* env, |
may_record)); |
} |
- // Clear the client id pref when opting out. Note: Mirrors code in |
- // metrics_reporting_state.cc. TODO(asvitkine): Unify. |
- if (!may_record) { |
- // Note: Clearing client id will not affect the running state (e.g. field |
- // trial randomization), as the pref is only read on startup. |
- g_browser_process->local_state()->ClearPref( |
- metrics::prefs::kMetricsClientID); |
- g_browser_process->local_state()->ClearPref( |
- metrics::prefs::kMetricsReportingEnabledTimestamp); |
- } |
- |
g_browser_process->GetMetricsServicesManager()->UpdatePermissions( |
may_record, may_upload); |
} |