| Index: components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
|
| diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
|
| index 7f117590184ddb894530066a1f8b4447baa7c040..3c696771fbabb131a0d52a26dea20a6910d176e1 100644
|
| --- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
|
| +++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
|
| @@ -77,15 +77,21 @@ public class VariationsSeedFetcher {
|
| }
|
|
|
| @VisibleForTesting
|
| - protected HttpURLConnection getServerConnection() throws MalformedURLException, IOException {
|
| - URL url = new URL(VARIATIONS_SERVER_URL);
|
| + protected HttpURLConnection getServerConnection(String restrictMode)
|
| + throws MalformedURLException, IOException {
|
| + String urlString = VARIATIONS_SERVER_URL;
|
| + if (restrictMode != null && !restrictMode.isEmpty()) {
|
| + urlString += "&restrict=" + restrictMode;
|
| + }
|
| + URL url = new URL(urlString);
|
| return (HttpURLConnection) url.openConnection();
|
| }
|
|
|
| /**
|
| * Fetch the first run variations seed.
|
| + * @param restrictMode The restrict mode parameter to pass to the server via a URL param.
|
| */
|
| - public void fetchSeed() {
|
| + public void fetchSeed(String restrictMode) {
|
| assert !ThreadUtils.runningOnUiThread();
|
| // Prevent multiple simultaneous fetches
|
| synchronized (sLock) {
|
| @@ -100,7 +106,7 @@ public class VariationsSeedFetcher {
|
| || VariationsSeedBridge.hasNativePref(context)) {
|
| return;
|
| }
|
| - downloadContent(context);
|
| + downloadContent(context, restrictMode);
|
| prefs.edit().putBoolean(VARIATIONS_INITIALIZED_PREF, true).apply();
|
| }
|
| }
|
| @@ -124,11 +130,11 @@ public class VariationsSeedFetcher {
|
| histogram.record(timeDeltaMillis);
|
| }
|
|
|
| - private void downloadContent(Context context) {
|
| + private void downloadContent(Context context, String restrictMode) {
|
| HttpURLConnection connection = null;
|
| try {
|
| long startTimeMillis = SystemClock.elapsedRealtime();
|
| - connection = getServerConnection();
|
| + connection = getServerConnection(restrictMode);
|
| connection.setReadTimeout(READ_TIMEOUT);
|
| connection.setConnectTimeout(REQUEST_TIMEOUT);
|
| connection.setDoInput(true);
|
|
|