Autocorrect aggressiveness: default behaves as "Modest", although "Balanced (Default)" is labeled as default

Offen Anfängerfreundlich
#760 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
75/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
android, kotlin
Bereich
mobile

Rechercherichtung

Beginne mit der Standard-Schwellenkonstante Defaults.PREF_AUTO_CORRECT_THRESHOLD und vergleiche sie dann mit dem Balanced-Wert in Settings.applyAutoCorrectAggressivenessPreset(). Lies anschließend Settings.readAutoCorrectAggressiveness(), um zu sehen, wie eine Neuinstallation den Schwellenwert einer Stufe zuordnet, und prüfe, dass SettingsValues denselben Standardwert liest. Fertig ist, wenn eine Neuinstallation in der UI Balanced anzeigt und den Balanced-Schwellenwert verwendet, während gespeicherte Benutzerstufen weiterhin wie bisher funktionieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Describe the bug
On a fresh install, Text correction → Autocorrect aggressiveness shows Modest, but the slider labels level 2 as "Balanced (Default)". The keyboard also really uses the modest threshold, so users get much weaker autocorrection than the settings suggest.

Cause

  • Defaults.PREF_AUTO_CORRECT_AGGRESSIVENESS = 2 (Balanced), but Defaults.PREF_AUTO_CORRECT_THRESHOLD = 0.185f, which is the Modest value in Settings.applyAutoCorrectAggressivenessPreset() (Balanced = 0.067f).
  • As long as no aggressiveness is saved, Settings.readAutoCorrectAggressiveness() derives the level from the threshold: threshold >= 0.18f -> AUTO_CORRECT_LEVEL_MODEST. That's why the UI shows Modest.
  • SettingsValues reads the threshold with the 0.185 default, so autocorrection itself also runs at Modest.

Possible fix
Set Defaults.PREF_AUTO_CORRECT_THRESHOLD = 0.067f so it matches the Balanced preset (that's what we did). Users who saved a level themselves are not affected, since their threshold is stored.

To Reproduce

  1. Fresh install (or clear app data).
  2. Settings → Text correction → enable Autocorrect.
  3. Autocorrect aggressiveness shows "Modest", while level 2 is labeled "Balanced (Default)".

Expected behavior
The default level is Balanced, both in the UI and in the actual threshold.

App version & Flavor
Found in GlassType, my fork based on LeanType 4.3.0 (d634e26), standard flavor. The code is unchanged in current main (0e673e1).

Device Info

  • Model: Samsung Galaxy S23 Ultra (SM-S918B) and Galaxy Z Fold 3 (SM-F926B)
  • OS version: Android 17 / Android 15
Vorherrschende Sprache
Kotlin
Sterne
1k
Forks
59
Ø Merge
14 Std. 9 Min.
Gemergte PRs (30 T.)
56

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus LeanBitLab/LeanType

Alle Issues in LeanBitLab/LeanType

Ähnliche Issues

Weitere Issues zu Kotlin

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.