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") { ...@@ -46,6 +46,7 @@ source_set("google_services") {
"//components/prefs", "//components/prefs",
"//components/strings", "//components/strings",
"//components/sync", "//components/sync",
"//components/ukm/ios:features",
"//components/unified_consent", "//components/unified_consent",
"//ios/chrome/app/strings", "//ios/chrome/app/strings",
"//ios/chrome/browser", "//ios/chrome/browser",
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "components/metrics/metrics_pref_names.h" #include "components/metrics/metrics_pref_names.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/sync/driver/sync_service.h" #include "components/sync/driver/sync_service.h"
#include "components/ukm/ios/features.h"
#include "components/unified_consent/pref_names.h" #include "components/unified_consent/pref_names.h"
#include "ios/chrome/browser/pref_names.h" #include "ios/chrome/browser/pref_names.h"
#import "ios/chrome/browser/signin/authentication_service.h" #import "ios/chrome/browser/signin/authentication_service.h"
...@@ -163,9 +164,13 @@ NSString* kGoogleServicesSyncErrorImage = @"google_services_sync_error"; ...@@ -163,9 +164,13 @@ NSString* kGoogleServicesSyncErrorImage = @"google_services_sync_error";
initWithPrefService:localPrefService initWithPrefService:localPrefService
prefName:metrics::prefs::kMetricsReportingEnabled]; prefName:metrics::prefs::kMetricsReportingEnabled];
_sendDataUsagePreference.observer = self; _sendDataUsagePreference.observer = self;
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] _sendDataUsageWifiOnlyPreference = [[PrefBackedBoolean alloc]
initWithPrefService:localPrefService initWithPrefService:localPrefService
prefName:prefs::kMetricsReportingWifiOnly]; prefName:prefs::kMetricsReportingWifiOnly];
}
_anonymizedDataCollectionPreference = [[PrefBackedBoolean alloc] _anonymizedDataCollectionPreference = [[PrefBackedBoolean alloc]
initWithPrefService:userPrefService initWithPrefService:userPrefService
prefName:unified_consent::prefs:: prefName:unified_consent::prefs::
...@@ -630,7 +635,9 @@ NSString* kGoogleServicesSyncErrorImage = @"google_services_sync_error"; ...@@ -630,7 +635,9 @@ NSString* kGoogleServicesSyncErrorImage = @"google_services_sync_error";
break; break;
case ImproveChromeItemType: case ImproveChromeItemType:
self.sendDataUsagePreference.value = value; 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. // Should be wifi only, until https://crbug.com/872101 is fixed.
self.sendDataUsageWifiOnlyPreference.value = YES; 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