Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions packages/devtools_app/lib/src/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -716,11 +716,10 @@ List<DevToolsScreen> defaultScreens({
AppSizeScreen(),
createController: (_) => AppSizeController(),
),
if (FeatureFlags.deepLinkValidation)
DevToolsScreen<DeepLinksController>(
DeepLinksScreen(),
createController: (_) => DeepLinksController(),
),
DevToolsScreen<DeepLinksController>(
DeepLinksScreen(),
createController: (_) => DeepLinksController(),
),
DevToolsScreen<VMDeveloperToolsController>(
VMDeveloperToolsScreen(),
createController: (_) => VMDeveloperToolsController(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import 'package:devtools_app_shared/ui.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

import '../../shared/feature_flags.dart';
import '../../shared/globals.dart';
import '../../shared/primitives/utils.dart';
import '../../shared/table/table.dart';
Expand Down Expand Up @@ -264,28 +263,27 @@ class _DeepLinkListViewTopPanel extends StatelessWidget {
configurations: controller.selectedProject.value!.androidVariants,
onChanged: controller.updateSelectedAndroidVariantIndex,
),
if (FeatureFlags.deepLinkIosCheck) ...[
const SizedBox(width: denseSpacing),
_ConfigurationDropdown(
title: 'iOS Configuration:',
valueListenable: controller.selectedIosConfigurationIndex,
configurations:
controller
.selectedProject
.value!
.iosBuildOptions
.configurations,
onChanged: controller.updateSelectedIosConfigurationIndex,
),
const SizedBox(width: denseSpacing),
_ConfigurationDropdown(
title: 'iOS Target:',
valueListenable: controller.selectedIosTargetIndex,
configurations:
controller.selectedProject.value!.iosBuildOptions.targets,
onChanged: controller.updateSelectedIosTargetIndex,
),
],

const SizedBox(width: denseSpacing),
_ConfigurationDropdown(
title: 'iOS Configuration:',
valueListenable: controller.selectedIosConfigurationIndex,
configurations:
controller
.selectedProject
.value!
.iosBuildOptions
.configurations,
onChanged: controller.updateSelectedIosConfigurationIndex,
),
const SizedBox(width: denseSpacing),
_ConfigurationDropdown(
title: 'iOS Target:',
valueListenable: controller.selectedIosTargetIndex,
configurations:
controller.selectedProject.value!.iosBuildOptions.targets,
onChanged: controller.updateSelectedIosTargetIndex,
),
],
),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import 'package:flutter/material.dart';
import '../../shared/analytics/analytics.dart' as ga;
import '../../shared/analytics/constants.dart' as gac;
import '../../shared/analytics/metrics.dart';
import '../../shared/feature_flags.dart';
import '../../shared/framework/screen.dart';
import '../../shared/framework/screen_controllers.dart';
import '../../shared/globals.dart';
Expand Down Expand Up @@ -281,16 +280,14 @@ class DeepLinksController extends DevToolsScreenController
selectedProject.value!.androidVariants,
containsString: 'release',
);
if (FeatureFlags.deepLinkIosCheck) {
_selectedIosConfigurationIndex.value = _getDefaultConfigurationIndex(
selectedProject.value!.iosBuildOptions.configurations,
containsString: 'release',
);
_selectedIosTargetIndex.value = _getDefaultConfigurationIndex(
selectedProject.value!.iosBuildOptions.configurations,
containsString: 'runner',
);
}
_selectedIosConfigurationIndex.value = _getDefaultConfigurationIndex(
selectedProject.value!.iosBuildOptions.configurations,
containsString: 'release',
);
_selectedIosTargetIndex.value = _getDefaultConfigurationIndex(
selectedProject.value!.iosBuildOptions.configurations,
containsString: 'runner',
);
await loadLinksAndValidate();
}

Expand Down Expand Up @@ -398,11 +395,9 @@ class DeepLinksController extends DevToolsScreenController
if (pagePhase.value == PagePhase.validationErrorPage) {
return;
}
if (FeatureFlags.deepLinkIosCheck) {
await _loadIosLinks();
if (pagePhase.value == PagePhase.validationErrorPage) {
return;
}
await _loadIosLinks();
if (pagePhase.value == PagePhase.validationErrorPage) {
return;
}
await validateLinks();
}
Expand Down Expand Up @@ -575,8 +570,7 @@ class DeepLinksController extends DevToolsScreenController
googlePlayFingerprintsAvailability.value =
androidResult.googlePlayFingerprintsAvailability;
}
if (FeatureFlags.deepLinkIosCheck &&
currentUniversalLinkSettings != null) {
if (currentUniversalLinkSettings != null) {
ga.impression(
gac.deeplink,
gac.AnalyzeFlutterProject.iosValidateDomain.name,
Expand Down Expand Up @@ -683,10 +677,7 @@ class DeepLinksController extends DevToolsScreenController
return;
}
pagePhase.value = PagePhase.linksValidating;
List<LinkData> linkdata = [
..._rawAndroidLinkDatas,
if (FeatureFlags.deepLinkIosCheck) ..._rawIosLinkDatas,
];
List<LinkData> linkdata = [..._rawAndroidLinkDatas, ..._rawIosLinkDatas];
if (linkdata.isEmpty) {
ga.select(gac.deeplink, gac.AnalyzeFlutterProject.flutterNoAppLink.name);
pagePhase.value = PagePhase.noLinks;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import 'package:flutter/material.dart';

import '../../../shared/analytics/analytics.dart' as ga;
import '../../../shared/analytics/constants.dart' as gac;
import '../../../shared/feature_flags.dart';
import '../../../shared/globals.dart';
import '../../../shared/primitives/utils.dart';
import '../../../shared/server/server.dart' as server;
Expand Down Expand Up @@ -122,14 +121,11 @@ class _SelectProjectViewState extends State<SelectProjectView> {
return;
}
XcodeBuildOptions iosBuildOptions = XcodeBuildOptions.empty;
if (FeatureFlags.deepLinkIosCheck) {
iosBuildOptions = await _requestiOSBuildOptions(directory);
ga.select(
gac.deeplink,
gac.AnalyzeFlutterProject.flutterProjectSelected.name,
);
}

iosBuildOptions = await _requestiOSBuildOptions(directory);
ga.select(
gac.deeplink,
gac.AnalyzeFlutterProject.flutterProjectSelected.name,
);
if (androidVariants.isEmpty && iosBuildOptions.configurations.isEmpty) {
ga.select(
gac.deeplink,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import 'dart:async';
import 'package:devtools_app_shared/ui.dart';
import 'package:flutter/material.dart';

import '../../shared/feature_flags.dart';
import '../../shared/ui/colors.dart';
import '../../shared/ui/common_widgets.dart';
import '../../shared/utils/utils.dart';
Expand Down Expand Up @@ -60,8 +59,7 @@ class ValidationDetailView extends StatelessWidget {
if (viewType == TableViewType.pathView ||
viewType == TableViewType.singleUrlView)
_PathCheckTable(controller: controller),
if (FeatureFlags.deepLinkIosCheck &&
viewType == TableViewType.domainView)
if (viewType == TableViewType.domainView)
_CrossCheckTable(controller: controller),
const SizedBox(height: extraLargeSpacing),
Align(
Expand Down Expand Up @@ -167,8 +165,7 @@ class _DomainCheckTable extends StatelessWidget {
],
],
),
if (FeatureFlags.deepLinkIosCheck &&
linkData.os.contains(PlatformOS.ios))
if (linkData.os.contains(PlatformOS.ios))
_CheckExpansionTile(
os: PlatformOS.ios,
checkName: 'Apple-App-Site-Association file',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import 'package:flutter/material.dart';

import '../../../../service/service_extension_widgets.dart';
import '../../../../service/service_extensions.dart' as extensions;
import '../../../../shared/feature_flags.dart';
import '../../../../shared/globals.dart';
import 'performance_controls.dart';

Expand All @@ -29,7 +28,7 @@ class MoreDebuggingOptionsButton extends StatelessWidget {
extensions.disableClipLayers,
extensions.disableOpacityLayers,
extensions.disablePhysicalShapeLayers,
if (FeatureFlags.widgetRebuildStats) extensions.countWidgetBuilds,
extensions.countWidgetBuilds,
],
overlayDescription: Column(
crossAxisAlignment: CrossAxisAlignment.start,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import 'package:flutter/material.dart';

import '../../../../service/service_extension_widgets.dart';
import '../../../../service/service_extensions.dart' as extensions;
import '../../../../shared/feature_flags.dart';
import '../../../../shared/globals.dart';
import '../../../../shared/primitives/utils.dart';
import '../controls/enhance_tracing/enhance_tracing_controller.dart';
Expand Down Expand Up @@ -90,52 +89,50 @@ class FlutterFrameAnalysisView extends StatelessWidget {
const PaddedDivider.noPadding(),
FrameTimeVisualizer(frameAnalysis: frameAnalysis),
],
if (FeatureFlags.widgetRebuildStats) ...[
if (rebuilds.isNullOrEmpty) ...[
const PaddedDivider.noPadding(),
ValueListenableBuilder<ServiceExtensionState>(
valueListenable: serviceConnection
.serviceManager
.serviceExtensionManager
.getServiceExtensionState(
extensions.countWidgetBuilds.extension,
),
builder: (context, extensionState, _) {
if (!extensionState.enabled) {
return Row(
children: [
const Text(
'To see widget rebuilds for Flutter frames, enable',
),
Flexible(
child: ServiceExtensionCheckbox(
serviceExtension: extensions.countWidgetBuilds,
showDescription: false,
),
if (rebuilds.isNullOrEmpty) ...[
const PaddedDivider.noPadding(),
ValueListenableBuilder<ServiceExtensionState>(
valueListenable: serviceConnection
.serviceManager
.serviceExtensionManager
.getServiceExtensionState(
extensions.countWidgetBuilds.extension,
),
builder: (context, extensionState, _) {
if (!extensionState.enabled) {
return Row(
children: [
const Text(
'To see widget rebuilds for Flutter frames, enable',
),
Flexible(
child: ServiceExtensionCheckbox(
serviceExtension: extensions.countWidgetBuilds,
showDescription: false,
),
],
);
}
return const SizedBox();
},
),
],
if (rebuilds == null)
const Text('Rebuild information not available for this frame.')
else if (rebuilds.isEmpty)
const Text(
'No widget rebuilds occurred for widgets that were directly '
'created in your project.',
)
else ...[
const SizedBox(height: defaultSpacing),
Expanded(
child: RebuildTable(
metricNames: const ['Rebuild Count'],
metrics: combineStats([rebuilds]),
),
),
],
);
}
return const SizedBox();
},
),
],
if (rebuilds == null)
const Text('Rebuild information not available for this frame.')
else if (rebuilds.isEmpty)
const Text(
'No widget rebuilds occurred for widgets that were directly '
'created in your project.',
)
else ...[
const SizedBox(height: defaultSpacing),
Expanded(
child: RebuildTable(
metricNames: const ['Rebuild Count'],
metrics: combineStats([rebuilds]),
),
],
),
],
],
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,7 @@ class PerformanceController extends DevToolsScreenController
final frame = FlutterFrame.fromJson(event.extensionData!.data);
enhanceTracingController.assignStateForFrame(frame);
flutterFramesController.addFrame(frame);
} else if (event.extensionKind == FlutterEvent.rebuiltWidgets &&
FeatureFlags.widgetRebuildStats) {
} else if (event.extensionKind == FlutterEvent.rebuiltWidgets) {
if (_currentRebuildWidgetsIsolate != event.isolate) {
rebuildCountModel.clearFromRestart();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import 'package:devtools_app_shared/utils.dart';
import 'package:flutter/material.dart';

import '../../shared/analytics/constants.dart' as gac;
import '../../shared/feature_flags.dart';
import '../../shared/globals.dart';
import '../../shared/ui/common_widgets.dart';
import '../../shared/ui/tab.dart';
Expand Down Expand Up @@ -58,7 +57,7 @@ class _TabbedPerformanceViewState extends State<TabbedPerformanceView>
serviceConnection.serviceManager.connectedApp!.isFlutterAppNow!;

var showFrameAnalysis = isFlutterApp;
var showRebuildStats = FeatureFlags.widgetRebuildStats && isFlutterApp;
var showRebuildStats = isFlutterApp;
final offlineData = controller.offlinePerformanceData;
if (isOffline) {
final hasOfflineData = offlineData != null;
Expand Down
Loading
Loading