mirror of
https://github.com/netbirdio/android-client.git
synced 2026-09-23 09:30:52 -07:00
The troubleshoot screen exposed anonymization as a plain on/off switch that kept no state: it reset to off on every fragment recreation, so a bundle went up unanonymized unless the user toggled it again right before uploading. The strict level the Go binding already exports was unreachable, because EngineRunner passed AnonymizeLevelDefault unconditionally. Replace the switch with a None / Default / Strict picker that mirrors the desktop client. The selection persists in the app-wide SharedPreferences and defaults to Default. The row moves from the Logging section into the Debug bundle section, since it only affects the bundle. The picker is a bottom sheet built on the existing SplitTunnelModeSheet pattern, so each level carries a description explaining what it hides. The level-to-parameter mapping follows the desktop client: "none" turns the anonymize flag off, and the daemon only ever sees "default" or "strict". Level names and descriptions are taken from the already translated desktop strings for all ten locales.