mirror of
https://github.com/mvt-project/mvt.git
synced 2026-09-11 20:29:00 +02:00
A dumpsys settings row can end in `tag:` and, on some vendor builds, in `isValuePreservedInRestore:` or a bare `notPreservedInRestore` token. The parser only peeled `default:` and `defaultSystemSet:` off the end of a record, so on a row without a default those tokens stayed inside the value, and on a row with one they landed in `defaultSystemSet`. A value of `0 tag:null` is not the safe value `0`, so a setting at its safe value was reported as dangerous; these are the false positives measured in #912. The metadata keys are ordered fields like the rest of the record, so `_split_fields` reads them now, which also replaces the separate handling of the default. The bare token has no `key:` shape and is printed last, so it is stripped first and recorded as `isValuePreservedInRestore: false`. The bugreport fixture gains the three row shapes from #912: a restore flag after `defaultSystemSet:`, and a `tag:` or a bare token directly after the value. Two of them sit on dangerous settings at their safe value, so the unchanged alert count of one is the false-positive check.