Commit 4f149a19 authored by Chris Lu's avatar Chris Lu Committed by Commit Bot

[ios] Hide Setting kMetricsReportingWifiOnly behind Feature Flag

UMA over Cellular feature removes kMetricsReportingWifiOnly local pref.
Tests will fail if retrieving or setting occurs.

Bug: 931289
Change-Id: Ibda70e02dde35f50426f6501210130a8c2834be0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1574837
Commit-Queue: Chris Lu <thegreenfrog@chromium.org>
Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#652469}
parent b57f92f4
......@@ -46,6 +46,7 @@ source_set("google_services") {
"//components/prefs",
"//components/strings",
"//components/sync",
"//components/ukm/ios:features",
"//components/unified_consent",
"//ios/chrome/app/strings",
"//ios/chrome/browser",
......
......@@ -9,6 +9,7 @@
#include "components/metrics/metrics_pref_names.h"
#include "components/prefs/pref_service.h"
#include "components/sync/driver/sync_service.h"
#include "components/ukm/ios/features.h"
#include "components/unified_consent/pref_names.h"
#include "ios/chrome/browser/pref_names.h"
#import "ios/chrome/browser/signin/authentication_service.h"
......@@ -163,9 +164,13 @@ NSString* kGoogleServicesSyncErrorImage = @"google_services_sync_error";
initWithPrefService:localPrefService
prefName:metrics::prefs::kMetricsReportingEnabled];
_sendDataUsagePreference.observer = self;
_sendDataUsageWifiOnlyPreference = [[PrefBackedBoolean alloc]
initWithPrefService:localPrefService
prefName:prefs::kMetricsReportingWifiOnly];
if (!base::FeatureList::IsEnabled(kUmaCellular)) {
// When flag is not, kMetricsReportingWifiOnly pref has not been
// initialized, so don't create a PrefBackedBoolean for it.
_sendDataUsageWifiOnlyPreference = [[PrefBackedBoolean alloc]
initWithPrefService:localPrefService
prefName:prefs::kMetricsReportingWifiOnly];
}
_anonymizedDataCollectionPreference = [[PrefBackedBoolean alloc]
initWithPrefService:userPrefService
prefName:unified_consent::prefs::
......@@ -630,7 +635,9 @@ NSString* kGoogleServicesSyncErrorImage = @"google_services_sync_error";
break;
case ImproveChromeItemType:
self.sendDataUsagePreference.value = value;
if (value) {
// Don't set value if sendDataUsageWifiOnlyPreference has not been
// allocated.
if (value && self.sendDataUsageWifiOnlyPreference) {
// Should be wifi only, until https://crbug.com/872101 is fixed.
self.sendDataUsageWifiOnlyPreference.value = YES;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment