Refactor Quick Settings UI#530
Open
Kimblebee wants to merge 61 commits into
Open
Conversation
- remove flip camera, stream config, and concurrent camera from quick settings - all quick settings menu items adopt the button row ux - WIP unique selection of settings depending on current capture mode
auxiliary function for settings subtitles
… state - Re-added the 'More Settings' button to the Quick Settings bottom sheet. - Introduced a 'showMoreSettingsButton' boolean parameter to control its visibility, defaulting to true. - Removed unused 'focusedQuickSetting' state from 'QuickSettingsUiState' and 'TrackedCaptureUiState'. - Cleaned up 'FlashModeUiStateAdapter.kt' by removing a debug 'println' and adding a 'todo(kc)' for 'visibleFlashModes'.
Remove unused drawables and their corresponding enum classes in
QuickSettingsEnums that are no longer referenced after the quick
settings refactoring.
- Decoupled dynamic range (video HDR) from image format (image HDR) settings across UI, controller, and CameraX configuration layers.
- Removed dynamic range constraints from the createImageUseCase configuration in CameraSession.kt, enabling independent Ultra HDR
image capture.
- Updated QuickSettings bottom sheet click handlers to mutate only the HDR setting relevant to the active capture mode.
- Enforced specialized Low Light Boost vs Ultra HDR conflicts in CameraXCameraSystem.kt, prioritizing Low Light Boost.
- Created HdrUiStateAdapterTest.kt covering all HDR availability states and flash conflicts.
- Refactored CameraXCameraSystemTest.kt to run parameterized HDR decoupling tests on both front and rear lenses.
…oogle/jetpack-camera-app into kim/hdr/decouple-capture-modes
- Fix accessibility issue in SettingRow by removing mergeDescendants from outer Row and applying it to title/subtitle Column. - Add missing KDocs for Quick Settings row composables. - Refactor FlashModeUiStateAdapter for idiomatic Kotlin (use flatMap, singleOrNull, when expression smart casting). - Rename FLASH_UNSUPPORTED_ON_LENS_TAG value to lower_snake_case. - Add unit test for FLASH_UNSUPPORTED_ON_LENS disabled reason in FlashModeUiStateAdapterTest. - Update HdrUiStateAdapter KDoc to reflect STANDARD mode support. - Update HdrUiState.Available KDoc to document isSupported parameter.
restrictive hdruistateadapter
…nto kim/refactor/quickSettings/button-rows
…Settings/button-rows
…Settings/button-rows
…Settings/button-rows
…ra test
- Simplify HdrUiState.from signature by removing redundant externalCaptureMode parameter.
- Use cameraAppSettings.captureMode directly, as it already incorporates external overrides on startup.
- Update CaptureUiStateAdapter to match the new signature.
- Refactor HdrUiStateAdapterTest to use the new signature.
- Add unit test to verify that concurrent camera (dual mode) disables HDR video.
…Settings/button-rows
Refactors `SettingRow` in `QuickSettingsComponents.kt` to accept a
`buttons: @composable RowScope.() -> Unit` slot instead of a `vararg`
array of Composables.
This makes the Composable stable and skippable, preventing unnecessary
recompositions, and eliminates `.toTypedArray()` allocations at call sites.
Updates all callers (CaptureModeRow, HdrRow, AspectRatioRow, FlashRow,
and previews) to use the new trailing lambda syntax.
…Settings/button-rows
…ocations and setting internal visibility
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.