v0.1.5 — remove Waze entirely
Waze's reCAPTCHA gating on live-map/api/georss has no clean mobile workaround, and the Citizen source added in v0.1.4 covers the same threat model with better data. Keeping a permanently-failed source visible was UI clutter — drop it. Removed: - scan/WazeClient.kt and scan/WazeScanner.kt (deleted) - WAZE from DetectionSource enum - waze flow from SourceHealth (+ flowFor/record/reset cases) - WazeObservation + scoreWaze + W_WAZE_POLICE from ConfidenceEngine - wazeEnabled from Settings (+ KEY_WAZE) - WAZE row from SettingsScreen - wazeScanner from DetectionService Renamed (Citizen now owns the proximity slider that Waze used to share): - Settings.wazeProximityM → citizenProximityM - Settings.setWazeProximityM → setCitizenProximityM - KEY_WAZE_PROX → KEY_CITIZEN_PROX - DEFAULT_WAZE_PROX → DEFAULT_CITIZEN_PROX (still 500) - SettingsScreen "Waze alert distance" → "Citizen alert distance" Existing users will see the slider reset to 500 m default since the SharedPreferences key changed. versionCode 5 → 6, versionName 0.1.4 → 0.1.5. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -45,10 +45,9 @@ fun SettingsScreen(
|
||||
val ble by settings.bleEnabled.collectAsState()
|
||||
val wifi by settings.wifiEnabled.collectAsState()
|
||||
val deflock by settings.deflockEnabled.collectAsState()
|
||||
val waze by settings.wazeEnabled.collectAsState()
|
||||
val citizen by settings.citizenEnabled.collectAsState()
|
||||
val deflockProx by settings.deflockProximityM.collectAsState()
|
||||
val wazeProx by settings.wazeProximityM.collectAsState()
|
||||
val citizenProx by settings.citizenProximityM.collectAsState()
|
||||
val theme by settings.themeMode.collectAsState()
|
||||
|
||||
Column(
|
||||
@@ -78,7 +77,6 @@ fun SettingsScreen(
|
||||
SourceToggle("BLE • Bluetooth Low Energy", ble) { settings.setBleEnabled(it) }
|
||||
SourceToggle("WIFI • WiFi BSSID + SSID", wifi) { settings.setWifiEnabled(it) }
|
||||
SourceToggle("DEFLOCK • ALPR map (Overpass)", deflock) { settings.setDeflockEnabled(it) }
|
||||
SourceToggle("WAZE • Live police reports (gated)", waze) { settings.setWazeEnabled(it) }
|
||||
SourceToggle("CITIZEN • Real-time incident feed", citizen) { settings.setCitizenEnabled(it) }
|
||||
Spacer(Modifier.height(8.dp))
|
||||
if (isRunning) {
|
||||
@@ -116,12 +114,12 @@ fun SettingsScreen(
|
||||
onChange = { settings.setDeflockProximityM(it.toInt()) }
|
||||
)
|
||||
SliderRow(
|
||||
label = "Waze alert distance",
|
||||
valueLabel = "${wazeProx} m",
|
||||
value = wazeProx.toFloat(),
|
||||
label = "Citizen alert distance",
|
||||
valueLabel = "${citizenProx} m",
|
||||
value = citizenProx.toFloat(),
|
||||
range = 100f..5000f,
|
||||
steps = 48,
|
||||
onChange = { settings.setWazeProximityM(it.toInt()) }
|
||||
onChange = { settings.setCitizenProximityM(it.toInt()) }
|
||||
)
|
||||
|
||||
Spacer(Modifier.height(16.dp))
|
||||
|
||||
Reference in New Issue
Block a user