Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for static tooling in DevTools and add a "Home" screen #6010

Merged
merged 3 commits into from Jul 11, 2023

Conversation

kenzieschmoll
Copy link
Member

@kenzieschmoll kenzieschmoll commented Jul 10, 2023

This PR refactors the DevTools landing or "connect" screen to be a screen that is available from the tab bar, with and without a connected app.

  • When there is no connected app, the home screen will show the connect dialog.
  • When there is a connected app, the home screen will show a summary of the app connection (everything that the device dialog in the lower right used to show). We can add more items to this home screen in the future as it makes sense.

The tab bar shows only tools that are available, so runtime tabs will be hidden when there is no connected app, but will appear once a connection is established.

static-tooling-with-footer

Note: The blue footer in this gif that indicates connection state will be implemented as a follow up PR.

Fixes #5990

@kenzieschmoll
Copy link
Member Author

@@ -275,48 +236,4 @@ void main() {
},
);
});

group('VMFlagsDialog', () {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved to vm_flag_widgets_test.dart

@kenzieschmoll kenzieschmoll marked this pull request as ready for review July 11, 2023 18:25
@kenzieschmoll
Copy link
Member Author

From @polina-c

Minor thing: it looks as if App Size disappears, but it is still here on the very right.
Are you sure we want to reorder tabs?
Users remember tab order and reordering will create confusion.

Right now this is implemented so that only tabs that are available without an app connection will show up when there is no connected app (static mode). Then when an app connects, we will show other supported tabs. The screens are defined in a static order right now (see https://github.com/flutter/devtools/blob/master/packages/devtools_app/lib/src/app.dart#L478), so to keep the ordering consistent, we'd have to order all tabs that support static tooling first, and IMO that ordering won't always make sense. The most commonly used tools should still be ordered at the front of the list, even if that means the static tools are now inserted back to their rightful position amongst the entire set of screens.

@kenzieschmoll kenzieschmoll merged commit be05370 into flutter:master Jul 11, 2023
15 checks passed
@kenzieschmoll kenzieschmoll deleted the statictabs branch July 11, 2023 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support static tooling in DevTools
2 participants