[deep link] Update loading UI (#6732)
* 1
* lint
* 1
diff --git a/packages/devtools_app/lib/src/screens/deep_link_validation/deep_link_list_view.dart b/packages/devtools_app/lib/src/screens/deep_link_validation/deep_link_list_view.dart
index bd14650..a04927d 100644
--- a/packages/devtools_app/lib/src/screens/deep_link_validation/deep_link_list_view.dart
+++ b/packages/devtools_app/lib/src/screens/deep_link_validation/deep_link_list_view.dart
@@ -89,7 +89,17 @@
valueListenable: controller.allLinkDatasNotifier,
builder: (context, linkDatas, _) {
if (linkDatas == null) {
- return const CenteredCircularProgressIndicator();
+ return Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ const CenteredCircularProgressIndicator(),
+ const SizedBox(height: densePadding),
+ Text(
+ 'Validating deep links...',
+ style: Theme.of(context).subtleTextStyle,
+ ),
+ ],
+ );
}
if (displayOptions.showSplitScreen) {
return Row(
diff --git a/packages/devtools_app/lib/src/screens/deep_link_validation/select_project_view.dart b/packages/devtools_app/lib/src/screens/deep_link_validation/select_project_view.dart
index d2c7dd8..13c2fe4 100644
--- a/packages/devtools_app/lib/src/screens/deep_link_validation/select_project_view.dart
+++ b/packages/devtools_app/lib/src/screens/deep_link_validation/select_project_view.dart
@@ -7,13 +7,14 @@
import '../../shared/analytics/analytics.dart' as ga;
import '../../shared/analytics/constants.dart' as gac;
-import '../../shared/common_widgets.dart';
import '../../shared/directory_picker.dart';
import '../../shared/server/server.dart' as server;
import '../../shared/utils.dart';
import 'deep_links_controller.dart';
import 'deep_links_model.dart';
+const _kLinearProgressIndicatorWidth = 280.0;
+
/// A view for selecting a Flutter project.
class SelectProjectView extends StatefulWidget {
const SelectProjectView({super.key});
@@ -24,7 +25,6 @@
class _SelectProjectViewState extends State<SelectProjectView>
with ProvidedControllerMixin<DeepLinksController, SelectProjectView> {
- static const _kMessageSize = 24.0;
bool _retrievingFlutterProject = false;
@override
@@ -82,32 +82,46 @@
@override
Widget build(BuildContext context) {
- Widget? child;
+ final theme = Theme.of(context);
if (_retrievingFlutterProject) {
- child = const CenteredCircularProgressIndicator(size: _kMessageSize);
- } else {
- child = Text(
- 'Pick a flutter project from your local file to check all deep links status',
- textAlign: TextAlign.center,
- style: TextStyle(
- color: Theme.of(context).textTheme.displayLarge!.color,
+ return Center(
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ 'Project loading...',
+ style: theme.regularTextStyle,
+ ),
+ Container(
+ width: _kLinearProgressIndicatorWidth,
+ padding: const EdgeInsets.symmetric(vertical: densePadding),
+ child: const LinearProgressIndicator(),
+ ),
+ Text(
+ 'The first load will take longer than usual',
+ style: theme.subtleTextStyle,
+ ),
+ ],
),
);
}
- return Center(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Padding(
- padding: const EdgeInsets.all(defaultSpacing),
- child: child,
+ return Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Padding(
+ padding: const EdgeInsets.all(defaultSpacing),
+ child: Text(
+ 'Pick a local flutter project to check the status of all deep links.',
+ textAlign: TextAlign.center,
+ style: theme.textTheme.titleSmall,
),
- DirectoryPicker(
- onDirectoryPicked: _handleDirectoryPicked,
- enabled: !_retrievingFlutterProject,
- ),
- ],
- ),
+ ),
+ DirectoryPicker(
+ onDirectoryPicked: _handleDirectoryPicked,
+ enabled: !_retrievingFlutterProject,
+ ),
+ ],
);
}
}