Skip to content

Settings for sound and haptic feedback are ignored after restart of device #372

@juergencodes

Description

@juergencodes

Checklist

  • I can reproduce the bug with the latest version given here.
  • I made sure that there are no existing issues - open or closed - to which I could contribute my information.
  • I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
  • I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.

Affected app version

1.8.0

Affected Android/Custom ROM version

GrapheneOS 2025122501 (Android 16)

Affected device model

Pixel 7 Pro

How did you install the app?

GitHub releases

Steps to reproduce the bug

  1. Customize settings for vibration feedback (-> off) and/or sound (-> on)
  2. Setup a password to unlock device
  3. Restart device
  4. Enter password (using the default keyboard settings, because device is in BFU)
  5. Open any app to open up keyboard (now after loading the custom settings) and start typing

Expected behavior

Settings for vibration feedback and sound are correctly loaded (no vibration, but sound as per "steps to reproduct the bug" above)

Actual behavior

Vibration feedback is on (default setting) and sound feedback is off (default setting is system and is turned off on my device). Spot checking other settings reveal they seem to be loaded correctly.

Note: After switching keyboard to GrapheneOS default one and back to fossify, feedback settings are loaded correctly

Screenshots/Screen recordings

No response

Additional information

My thougts: I have no vibration feedback at all on my device, so I can say for sure that I first recognized the behavior after installing the 1.8.0 version. Hence, it seems to be a regression. Looking into the changelog, the PR #361 looks like a good candidate.

(I am a Java backend developer without particuar knowledge on class loading and instance handling in android, so take this only as an educated guess: The new class KeyboardFeedbackManager, which exactly takes care of these two feedback settings uses "private val config = context.safeStorageContext.config" in line 17. Does this instance variable maybe conserve the default config values from BFU state?)

Metadata

Metadata

Assignees

Labels

bugSomething is not working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions