Skip to content

Version 4.3.0#2188

Merged
sds100 merged 29 commits into
masterfrom
develop
Jul 14, 2026
Merged

Version 4.3.0#2188
sds100 merged 29 commits into
masterfrom
develop

Conversation

@sds100

@sds100 sds100 commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

sds100 and others added 29 commits June 24, 2026 10:28
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
@sds100 sds100 merged commit b13998d into master Jul 14, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants