Skip to content

Commit e9beaea

Browse files
authored
Clean up analytics opt in/out flags (#132588)
Fixes: - #132258
1 parent dc8377b commit e9beaea

File tree

5 files changed

+33
-29
lines changed

5 files changed

+33
-29
lines changed

packages/flutter_tools/lib/runner.dart

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,20 @@ Future<int> run(
6161
StackTrace? firstStackTrace;
6262
return runZoned<Future<int>>(() async {
6363
try {
64-
if (args.contains('--disable-telemetry') &&
65-
args.contains('--enable-telemetry')) {
64+
if (args.contains('--disable-analytics') &&
65+
args.contains('--enable-analytics')) {
6666
throwToolExit(
67-
'Both enable and disable telemetry commands were detected '
67+
'Both enable and disable analytics commands were detected '
6868
'when only one can be supplied per invocation.',
6969
exitCode: 1);
7070
}
7171

72-
// Disable analytics if user passes in the `--disable-telemetry` option
73-
// `flutter --disable-telemetry`
72+
// Disable analytics if user passes in the `--disable-analytics` option
73+
// "flutter --disable-analytics"
7474
//
75-
// Same functionality as `flutter config --no-analytics` for disabling
75+
// Same functionality as "flutter config --no-analytics" for disabling
7676
// except with the `value` hard coded as false
77-
if (args.contains('--disable-telemetry')) {
77+
if (args.contains('--disable-analytics')) {
7878
// The tool sends the analytics event *before* toggling the flag
7979
// intentionally to be sure that opt-out events are sent correctly.
8080
AnalyticsConfigEvent(enabled: false).send();
@@ -93,12 +93,12 @@ Future<int> run(
9393
await globals.analytics.setTelemetry(false);
9494
}
9595

96-
// Enable analytics if user passes in the `--enable-telemetry` option
97-
// `flutter --enable-telemetry`
96+
// Enable analytics if user passes in the `--enable-analytics` option
97+
// `flutter --enable-analytics`
9898
//
9999
// Same functionality as `flutter config --analytics` for enabling
100100
// except with the `value` hard coded as true
101-
if (args.contains('--enable-telemetry')) {
101+
if (args.contains('--enable-analytics')) {
102102
// The tool sends the analytics event *before* toggling the flag
103103
// intentionally to be sure that opt-out events are sent correctly.
104104
AnalyticsConfigEvent(enabled: true).send();
@@ -315,7 +315,7 @@ Future<int> _exit(int code, {required ShutdownHooks shutdownHooks}) async {
315315
'the flutter tool is migrating to a new analytics system. '
316316
'Disabling analytics collection will disable both the legacy '
317317
'and new analytics collection systems. '
318-
'You can disable analytics reporting by running `flutter --disable-telemetry`\n');
318+
'You can disable analytics reporting by running `flutter --disable-analytics`\n');
319319
}
320320

321321
// Invoking this will onboard the flutter tool onto

packages/flutter_tools/lib/src/commands/config.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,15 @@ import '../features.dart';
1111
import '../globals.dart' as globals;
1212
import '../reporting/reporting.dart';
1313
import '../runner/flutter_command.dart';
14+
import '../runner/flutter_command_runner.dart';
1415

1516
class ConfigCommand extends FlutterCommand {
1617
ConfigCommand({ bool verboseHelp = false }) {
1718
argParser.addFlag('analytics',
18-
help: 'Enable or disable reporting anonymously tool usage statistics and crash reports.');
19+
hide: !verboseHelp,
20+
help: 'Enable or disable reporting anonymously tool usage statistics and crash reports.\n'
21+
'(An alias for "--${FlutterGlobalOptions.kEnableAnalyticsFlag}" '
22+
'and "--${FlutterGlobalOptions.kDisableAnalyticsFlag}" top level flags.)');
1923
argParser.addFlag('clear-ios-signing-cert',
2024
negatable: false,
2125
help: 'Clear the saved development certificate choice used to sign apps for iOS device deployment.');

packages/flutter_tools/lib/src/globals.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ final BotDetector _defaultBotDetector = BotDetector(
8888
);
8989
Future<bool> get isRunningOnBot => botDetector.isRunningOnBot;
9090

91-
// Analytics instance for package:unified_analytics for telemetry
91+
// Analytics instance for package:unified_analytics for analytics
9292
// reporting for all Flutter and Dart related tooling
9393
Analytics get analytics => context.get<Analytics>()!;
9494

packages/flutter_tools/lib/src/runner/flutter_command_runner.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ abstract final class FlutterGlobalOptions {
2626
static const String kColorFlag = 'color';
2727
static const String kContinuousIntegrationFlag = 'ci';
2828
static const String kDeviceIdOption = 'device-id';
29-
static const String kDisableTelemetryFlag = 'disable-telemetry';
30-
static const String kEnableTelemetryFlag = 'enable-telemetry';
29+
static const String kDisableAnalyticsFlag = 'disable-analytics';
30+
static const String kEnableAnalyticsFlag = 'enable-analytics';
3131
static const String kLocalEngineOption = 'local-engine';
3232
static const String kLocalEngineSrcPathOption = 'local-engine-src-path';
3333
static const String kLocalEngineHostOption = 'local-engine-host';
@@ -101,17 +101,17 @@ class FlutterCommandRunner extends CommandRunner<void> {
101101
defaultsTo: true,
102102
hide: !verboseHelp,
103103
help: 'Allow Flutter to check for updates when this command runs.');
104-
argParser.addFlag(FlutterGlobalOptions.kSuppressAnalyticsFlag,
104+
argParser.addFlag(FlutterGlobalOptions.kEnableAnalyticsFlag,
105105
negatable: false,
106-
help: 'Suppress analytics reporting for the current CLI invocation.');
107-
argParser.addFlag(FlutterGlobalOptions.kDisableTelemetryFlag,
106+
help: 'Enable telemetry reporting each time a flutter or dart '
107+
'command runs.');
108+
argParser.addFlag(FlutterGlobalOptions.kDisableAnalyticsFlag,
108109
negatable: false,
109110
help: 'Disable telemetry reporting each time a flutter or dart '
110111
'command runs, until it is re-enabled.');
111-
argParser.addFlag(FlutterGlobalOptions.kEnableTelemetryFlag,
112+
argParser.addFlag(FlutterGlobalOptions.kSuppressAnalyticsFlag,
112113
negatable: false,
113-
help: 'Enable telemetry reporting each time a flutter or dart '
114-
'command runs.');
114+
help: 'Suppress analytics reporting for the current CLI invocation.');
115115
argParser.addOption(FlutterGlobalOptions.kPackagesOption,
116116
hide: !verboseHelp,
117117
help: 'Path to your "package_config.json" file.');
@@ -237,8 +237,8 @@ class FlutterCommandRunner extends CommandRunner<void> {
237237

238238
// If the flag for enabling or disabling telemetry is passed in,
239239
// we will return out
240-
if (topLevelResults.wasParsed(FlutterGlobalOptions.kDisableTelemetryFlag) ||
241-
topLevelResults.wasParsed(FlutterGlobalOptions.kEnableTelemetryFlag)) {
240+
if (topLevelResults.wasParsed(FlutterGlobalOptions.kDisableAnalyticsFlag) ||
241+
topLevelResults.wasParsed(FlutterGlobalOptions.kEnableAnalyticsFlag)) {
242242
return;
243243
}
244244

packages/flutter_tools/test/general.shard/runner/runner_test.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ void main() {
326326
expect(globals.analytics.shouldShowMessage, true);
327327

328328
await runner.run(
329-
<String>['--disable-telemetry'],
329+
<String>['--disable-analytics'],
330330
() => <FlutterCommand>[],
331331
// This flutterVersion disables crash reporting.
332332
flutterVersion: '[user-branch]/',
@@ -343,15 +343,15 @@ void main() {
343343
);
344344

345345
testUsingContext(
346-
'runner enabling telemetry with flag',
346+
'runner enabling analytics with flag',
347347
() async {
348348
io.setExitFunctionForTests((int exitCode) {});
349349

350350
expect(globals.analytics.telemetryEnabled, false);
351351
expect(globals.analytics.shouldShowMessage, false);
352352

353353
await runner.run(
354-
<String>['--enable-telemetry'],
354+
<String>['--enable-analytics'],
355355
() => <FlutterCommand>[],
356356
// This flutterVersion disables crash reporting.
357357
flutterVersion: '[user-branch]/',
@@ -377,8 +377,8 @@ void main() {
377377

378378
final int exitCode = await runner.run(
379379
<String>[
380-
'--disable-telemetry',
381-
'--enable-telemetry',
380+
'--disable-analytics',
381+
'--enable-analytics',
382382
],
383383
() => <FlutterCommand>[],
384384
// This flutterVersion disables crash reporting.
@@ -538,7 +538,7 @@ class WaitingCrashReporter implements CrashReporter {
538538
}
539539

540540
/// A fake [Analytics] that will be used to test
541-
/// the --disable-telemetry flag
541+
/// the --disable-analytics flag
542542
class FakeAnalytics extends Fake implements Analytics {
543543

544544
FakeAnalytics({bool fakeTelemetryStatusOverride = true})

0 commit comments

Comments
 (0)