Add Android embedding version analytics (#44043)
diff --git a/packages/flutter_tools/test/commands.shard/permeable/packages_test.dart b/packages/flutter_tools/test/commands.shard/permeable/packages_test.dart
index a9197ed..3df82bf 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/packages_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/packages_test.dart
@@ -11,12 +11,14 @@
import 'package:flutter_tools/src/cache.dart';
import 'package:flutter_tools/src/commands/packages.dart';
import 'package:flutter_tools/src/dart/pub.dart';
+import 'package:flutter_tools/src/features.dart';
import 'package:flutter_tools/src/reporting/reporting.dart';
import 'package:process/process.dart';
import '../../src/common.dart';
import '../../src/context.dart';
import '../../src/mocks.dart' show MockProcessManager, MockStdio, PromptingProcess;
+import '../../src/testbed.dart';
class AlwaysTrueBotDetector implements BotDetector {
const AlwaysTrueBotDetector();
@@ -266,6 +268,36 @@
Pub: () => const Pub(),
});
+ testUsingContext('indicate that Android project reports v1 in usage value', () async {
+ final String projectPath = await createProject(tempDir,
+ arguments: <String>['--no-pub']);
+ removeGeneratedFiles(projectPath);
+
+ final PackagesCommand command = await runCommandIn(projectPath, 'get');
+ final PackagesGetCommand getCommand = command.subcommands['get'] as PackagesGetCommand;
+
+ expect(await getCommand.usageValues,
+ containsPair(CustomDimensions.commandPackagesAndroidEmbeddingVersion, 'v1'));
+ }, overrides: <Type, Generator>{
+ FeatureFlags: () => TestFeatureFlags(isAndroidEmbeddingV2Enabled: false),
+ Pub: () => const Pub(),
+ });
+
+ testUsingContext('indicate that Android project reports v2 in usage value', () async {
+ final String projectPath = await createProject(tempDir,
+ arguments: <String>['--no-pub']);
+ removeGeneratedFiles(projectPath);
+
+ final PackagesCommand command = await runCommandIn(projectPath, 'get');
+ final PackagesGetCommand getCommand = command.subcommands['get'] as PackagesGetCommand;
+
+ expect(await getCommand.usageValues,
+ containsPair(CustomDimensions.commandPackagesAndroidEmbeddingVersion, 'v2'));
+ }, overrides: <Type, Generator>{
+ FeatureFlags: () => TestFeatureFlags(isAndroidEmbeddingV2Enabled: true),
+ Pub: () => const Pub(),
+ });
+
testUsingContext('upgrade fetches packages', () async {
final String projectPath = await createProject(tempDir,
arguments: <String>['--no-pub', '--template=module']);