Show preview and testing devices #195
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New Feature
In this PR I added the ability to interact with both Preview simulators and Testing (clone) simulators. Having the ability to manage preview and testing simulators can be very helpful during development.
Warning
This is not a complete implementation. There are bugs throughout the app when a preview or testing simulator is selected. Certain actions are not available.
Important
This is where I am asking for help to polish the app to get this merged into the main codebase. That is why I have created this as a draft pull request.
Copilot Summary
This pull request introduces a new concept of "Device Groups" to the ControlRoom application, allowing users to group and filter simulators based on predefined categories such as "Default," "Testing," and "Previews." The changes span multiple files, adding support for this feature in the user interface, preferences, and simulator management logic.
Device Group Feature:
New
DeviceGroupEnum: Introduced aDeviceGroupenum inSimCtl+Types.swiftto define groups like.default,.testing, and.previews, each with adisplayNameand associatedcommands. This provides a structured way to handle device group configurations.Device Group in Preferences: Added a new
@AppStoragepropertydeviceGroupinPreferences.swiftto persist the selected device group across app launches.Command Updates for Device Groups: Modified the
SimCtl.Commandinitializer inSimCtl+SubCommands.swiftto include device group-specific commands, enabling the appropriate configuration for each group.Integration with Simulators:
SimulatorsController.swiftto reload simulators when the selected device group changes, ensuring the displayed simulators match the current group setting. [1] [2]User Interface Enhancements:
Pickerto theSidebarView.swifttoolbar, allowing users to select the desired device group directly from the sidebar UI.