Delete stream configuration quick setting#511
Conversation
Deletes the stream configuration quick setting from the quick settings panel, as part of preparation for a quick settings UI refactor. The stream configuration setting remains available in the main settings screen.
There was a problem hiding this comment.
Code Review
This pull request removes the stream configuration setting from the quick settings panel and migrates its control to the main settings screen. This involves deleting StreamConfigUiState, removing setStreamConfig from the QuickSettingsController, and updating UI components and tests accordingly. A potential issue was identified in ConcurrentCameraTest.kt where navigating to the settings screen while the quick settings bottom sheet is open might cause the sheet to be dismissed, potentially leading to assertion failures for subsequent UI checks.
temcguir
left a comment
There was a problem hiding this comment.
The deleted StreamConfigsUiStateAdapter previously enforced constraints that disabled the Stream Configuration option if either Concurrent Camera or Ultra HDR were active.
I see that PR #512 ports the Concurrent Camera constraint over to SettingsViewModel.getStreamConfigUiState() and adds a Disabled state to StreamConfigUiState. Assuming PR #511 and #512 land together, the Concurrent Camera constraints are handled correctly in the settings UI.
Note that the Ultra HDR (ImageOutputFormat.JPEG_ULTRA_HDR) constraint for Stream Configuration is not ported over in either PR. While CameraXCameraSystem handles the conflict by silently overriding the setting, our established UX pattern is to explicitly disable conflicting UI options. Assuming there is an upcoming PR to move and split HDR settings into the main settings screen, we should ensure the Ultra HDR constraint for Stream Configuration is applied there.
Enforces constraints to disable the Stream Configuration setting in the
Settings Screen when conflicting features—Concurrent Camera or Ultra HDR—are
active. This ports the missing constraints to ensure a consistent UX where
conflicting options are explicitly disabled rather than silently overridden.
renamed disabledrationale enums to match existing precedent
Deletes the stream configuration quick setting in anticipation of a quick settings UI refactor wherein it is removed. The stream configuration setting remains available in the main settings screen.