| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferencesManager.java
 | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferencesManager.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferencesManager.java
 | 
| index cc67d03db34b1e97576af014bacf33add19b263c..b9d0c13b194c561bc5a8d2b31086c9d95074837c 100644
 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferencesManager.java
 | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferencesManager.java
 | 
| @@ -26,6 +26,7 @@ public class PrivacyPreferencesManager implements CrashReportingPermissionManage
 | 
|      static final String PREF_CRASH_DUMP_UPLOAD = "crash_dump_upload";
 | 
|      static final String PREF_CRASH_DUMP_UPLOAD_NO_CELLULAR = "crash_dump_upload_no_cellular";
 | 
|      static final String PREF_METRICS_REPORTING = "metrics_reporting";
 | 
| +    private static final String PREF_METRICS_IN_SAMPLE = "in_metrics_sample";
 | 
|      private static final String PREF_NETWORK_PREDICTIONS = "network_predictions";
 | 
|      private static final String PREF_BANDWIDTH_OLD = "prefetch_bandwidth";
 | 
|      private static final String PREF_BANDWIDTH_NO_CELLULAR_OLD = "prefetch_bandwidth_no_cellular";
 | 
| @@ -277,6 +278,27 @@ public class PrivacyPreferencesManager implements CrashReportingPermissionManage
 | 
|      }
 | 
|  
 | 
|      /**
 | 
| +     * Sets whether this client is in-sample. See
 | 
| +     * {@link org.chromium.chrome.browser.metrics.UmaUtils#isClientInMetricsSample} for details.
 | 
| +     */
 | 
| +    public void setClientInMetricsSample(boolean inSample) {
 | 
| +        mSharedPreferences.edit().putBoolean(PREF_METRICS_IN_SAMPLE, inSample).apply();
 | 
| +    }
 | 
| +
 | 
| +    /**
 | 
| +     * Checks whether this client is in-sample. See
 | 
| +     * {@link org.chromium.chrome.browser.metrics.UmaUtils#isClientInMetricsSample} for details.
 | 
| +     *
 | 
| +     * @returns boolean Whether client is in-sample.
 | 
| +     */
 | 
| +    public boolean isClientInMetricsSample() {
 | 
| +        // The default value is true to avoid sampling out crashes that occur before native code has
 | 
| +        // been initialized on first run. We'd rather have some extra crashes than none from that
 | 
| +        // time.
 | 
| +        return mSharedPreferences.getBoolean(PREF_METRICS_IN_SAMPLE, true);
 | 
| +    }
 | 
| +
 | 
| +    /**
 | 
|       * Sets the crash upload preference, which determines whether crash dumps will be uploaded
 | 
|       * always, never, or only on wifi.
 | 
|       *
 | 
| @@ -325,8 +347,7 @@ public class PrivacyPreferencesManager implements CrashReportingPermissionManage
 | 
|      }
 | 
|  
 | 
|      /**
 | 
| -     * Sets the initial value for whether crash stacks may be uploaded.
 | 
| -     * This should be called only once, the first time Chrome is launched.
 | 
| +     * Sets the value for whether crash stacks may be uploaded.
 | 
|       */
 | 
|      public void initCrashUploadPreference(boolean allowCrashUpload) {
 | 
|          SharedPreferences.Editor ed = mSharedPreferences.edit();
 | 
| 
 |