General: Tie debug overlay to log recording, drop Debug menu#593
Merged
Conversation
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.
What changed
The "Debug" entry under Settings → General is gone. Its three toggles (Debug mode, Fake data, Unfiltered BLE data) had become redundant — debug logs are still captured via Settings → Support → Record debug log.
When you start recording a debug log, device cards on the Overview screen now show the same raw payload data that the old "Debug mode" toggle used to surface. Anyone helping with support for a new headphone type can capture the relevant info just by sharing a debug recording — no hidden toggle to flip first.
Technical Context
isDebugModeEnabledandshowFakeDatahad no writers outside the deleted UI, so both flags and the code they gated (FakeBleData, theBleScanner.mapinjection point) are removed. The DataStore keys are left orphan — no migration needed, DataStore tolerates them.DebugSettings.showUnfilteredis replaced by an ephemeralunfilteredOverrideMutableStateFlowonBlePodMonitor.TroubleShooterViewModeltoggles it viasetUnfilteredOverride(...), wrapped intry/finallyso cancellation, exception, or back-press always resets it. Process restart auto-resets too. This closes a latent bug: any existing user who'd manually flipped that toggle on would have had it stuck-on after the menu disappeared, with no recovery path and noisier scans.Bugs.isDebug: MutableStateFlow<Boolean>mirrored fromRecorderModule.state.isRecording.OverviewViewModelobserves this instead of the deletedDebugSettings.isDebugModeEnabledflag, so the device-card raw-payload overlay flips on with the recorder and off when it stops.settings_debug_*,settings_fake_data_*,settings_blescanner_unfiltered_*) cleared fromvalues/strings.xmland all 75values-*/strings.xmlfiles — keeps Android lint'sExtraTranslationcheck happy without waiting for the next Crowdin sync.