From ccb2e7057a317b307bed72a91d896bb65a30f78c Mon Sep 17 00:00:00 2001 From: Joshua Horton Date: Thu, 9 Jul 2026 10:48:00 -0500 Subject: [PATCH] fix(ios): further adjust + fix language toggle logic --- .../LanguageSettingsViewController.swift | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/ios/engine/KMEI/KeymanEngine/Classes/Settings/LanguageSettingsViewController.swift b/ios/engine/KMEI/KeymanEngine/Classes/Settings/LanguageSettingsViewController.swift index 40968726cf..8ee69ed231 100644 --- a/ios/engine/KMEI/KeymanEngine/Classes/Settings/LanguageSettingsViewController.swift +++ b/ios/engine/KMEI/KeymanEngine/Classes/Settings/LanguageSettingsViewController.swift @@ -108,14 +108,15 @@ class LanguageSettingsViewController: UITableViewController { func refreshSwitchVisibility() { let userDefaults = Storage.active.userDefaults - let mayCorrect = userDefaults.correctSettingForLanguage(languageID: self.language.id) - self.doCorrectionsSwitch?.isHidden = !mayCorrect - self.doCorrectionsLabel?.isEnabled = mayCorrect + let mayPredict = userDefaults.predictSettingForLanguage(languageID: self.language.id) + self.doCorrectionsSwitch?.isHidden = !mayPredict + self.doCorrectionsLabel?.isEnabled = mayPredict + self.correctionsCell?.isUserInteractionEnabled = mayPredict - let mayAutoCorrect = userDefaults.autocorrectSettingForLanguage(languageID: self.language.id) - self.doAutocorrectionsSwitch?.isHidden = !(mayCorrect && mayAutoCorrect) - self.doAutocorrectionsLabel?.isEnabled = mayCorrect && mayAutoCorrect - self.correctionsCell?.isUserInteractionEnabled = mayCorrect + let mayCorrect = userDefaults.correctSettingForLanguage(languageID: self.language.id) + self.doAutocorrectionsSwitch?.isHidden = !(mayPredict && mayCorrect) + self.doAutocorrectionsLabel?.isEnabled = mayPredict && mayCorrect + self.autocorrectionsCell?.isUserInteractionEnabled = mayPredict && mayCorrect } @objc @@ -195,9 +196,7 @@ class LanguageSettingsViewController: UITableViewController { selector: #selector(self.correctionSwitchValueChanged) ) - // Disable interactivity if the prediction toggle is set to 'off'. - doCorrectionsSwitch!.isHidden = !userDefaults.predictSettingForLanguage(languageID: self.language.id) - cell.isUserInteractionEnabled = userDefaults.predictSettingForLanguage(languageID: self.language.id) + refreshSwitchVisibility() } else if 2 == indexPath.row { autocorrectionsCell = cell doAutocorrectionsSwitch = UISwitch() @@ -209,11 +208,7 @@ class LanguageSettingsViewController: UITableViewController { selector: #selector(self.autocorrectionSwitchValueChanged) ) - // Disable interactivity if the prediction or correction toggle is set to 'off'. - let mayPredict = userDefaults.predictSettingForLanguage(languageID: self.language.id) - let mayCorrect = userDefaults.correctSettingForLanguage(languageID: self.language.id) - doAutocorrectionsSwitch!.isHidden = !(mayPredict && mayCorrect) - cell.isUserInteractionEnabled = mayPredict && mayCorrect + refreshSwitchVisibility() } else { // rows 3 and 4 cell.accessoryType = .disclosureIndicator }