Conversation
Add three new constraints to check the current ringer mode: Ring, Vibrate, and Silent. These appear in the Phone category of the constraint picker. - Add RINGER_MODE_NORMAL, RINGER_MODE_VIBRATE, RINGER_MODE_SILENT to ConstraintId - Add corresponding ConstraintData sealed objects and entity mapping - Add ringerModeFlow to VolumeAdapter, implemented via BroadcastReceiver for AudioManager.RINGER_MODE_CHANGED_ACTION in AndroidVolumeAdapter - Wire VolumeAdapter into LazyConstraintSnapshot and DetectConstraintsUseCase - Add RINGER_MODE to ConstraintDependency - Add UI strings, icons, and titles - Update TestConstraintSnapshot with ringerMode field
Add a "Do not remap by default" toggle to the Change Default Options settings page. When enabled, new trigger keys will have consumeEvent = false by default, letting the original key event pass through to other apps.
…a class Use ConstraintData.RingerMode(val ringerMode: RingerMode) instead of three separate data objects (RingerModeNormal/Vibrate/Silent), following the OrientationCustom pattern. Entity backward compatibility is preserved via the existing three entity type strings.
…erMode field Replace three separate data objects (RingerModeNormal, RingerModeVibrate, RingerModeSilent) with one data class ConstraintData.RingerMode(ringerMode: SystemRingerMode), following the OrientationCustom pattern. DB entity backward compatibility is preserved via three separate entity type strings. Add @serializable to RingerMode enum for kotlinx.serialization support. Fix exhaustive when expressions in ChooseConstraintViewModel and KeyMapConstraintsComparator.
…ode-constraints #2163 feat: add ringer mode constraints (Ring, Vibrate, Silent)
…cation panel is not showing" — that allow key maps to be conditional on whether the Android status bar / notification shade is expanded. Detection is implemented via the AccessibilityService window list: a TYPE_SYSTEM window whose root node belongs to com.android.systemui and is visible to the user is treated as evidence that the notification shade is expanded. This is a best-effort heuristic; accuracy may vary across OEMs and Android versions, as acknowledged in issue discussion.
ktlint requires imports to be in lexicographic order; Notifications and NotificationsOff were appended after StopCircle instead of their correct position between MobileOff and PlayArrow.
…emap-default #2174 feat: add default do not remap preference
Add a new constraint that is satisfied when the device's real display resolution matches a chosen width and height. The constraint is configured in a bottom sheet that shows a row of selectable chips for each of the display's supported resolution modes, plus a "Custom" chip that reveals side-by-side width and height text fields. When the display reports one or zero supported modes, the text fields are shown immediately. The real display size is read from DisplayAdapter.size and compared ignoring orientation so the constraint holds in both portrait and landscape. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011GqGRM7xSwYjxKYT6gp66F
Hoist the bottom sheet's selection/custom/width/height state and the validity and resolved-resolution logic out of the composable and into ChooseConstraintViewModel. The bottom sheet is now a stateless view that renders DisplayResolutionSheetState and forwards user input through view model callbacks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011GqGRM7xSwYjxKYT6gp66F
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.