Delete concurrent camera quick setting#512
Conversation
Migrates the concurrent camera toggle from the Quick Settings bottom
sheet
to the main Settings screen.
Changes:
- Added ConcurrentCameraMode to JcaSettings proto and SettingsRepository.
- Updated CameraSystem to apply concurrent camera setting changes.
- Added ConcurrentCameraSetting UI and state to feature/settings.
- Removed concurrent camera toggle from QuickSettingsScreen.
- Updated ConcurrentCameraTest to toggle the setting via Settings screen.
There was a problem hiding this comment.
Code Review
This pull request migrates the Concurrent Camera setting from the Quick Settings menu to the main Settings screen. The changes include updating the proto datastore for persistence, implementing the setting toggle in the UI, and refactoring instrumented tests to verify the setting via the Settings screen. Reviewer feedback suggests using more idiomatic Compose testing matchers like assertIsOn(), removing redundant support checks in tests, and applying the internal visibility modifier to new functions and composables. Additionally, the reviewer noted a potentially missing file (CameraAppSettings) and emphasized the requirement to synchronize default values across the datastore and the app's default settings.
1079495 to
42d1f7a
Compare
a539a08 to
7d8566c
Compare
- Consolidated rationales in SettingsUiState: removed redundant
`ConcurrentCameraStreamConfigRationale` and merged it into
`ConcurrentCameraDisabledRationale` with a specific reason string.
- Renamed `ConcurrentCameraUnsupportedRationale` to
`ConcurrentCameraActiveRationale` to better clarify its meaning
(disabled because concurrent camera is active).
- Improved the phrasing of the stream configuration conflict error message
to "Single Stream does not support concurrent camera" for clarity.
- Restricted visibility of the `SettingsList` Composable to `internal`.
- Cleaned up debug log statement in `SettingsViewModel.setConcurrentCameraMode`.
- Simplified integration tests in `CameraAppSettingsViewModelTest` by
introducing a `createViewModelWithConstraints` helper, reducing setup
duplication across 9 test cases.
- Optimized UI tests in `ConcurrentCameraTest` by combining navigations to
the settings screen, reducing test execution times.
Deletes the concurrent camera quick setting in anticipation of a quick settings UI refactor wherein it is removed. The concurrent camerea setting has been made available in the main settings screen.