diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/CorrectionSettingsFragment.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/CorrectionSettingsFragment.java
index dab600cdb..649763c17 100644
--- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/CorrectionSettingsFragment.java
+++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/CorrectionSettingsFragment.java
@@ -14,10 +14,11 @@ import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
-import android.text.TextUtils;
+import androidx.appcompat.app.AlertDialog;
import androidx.preference.Preference;
import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
import org.dslul.openboard.inputmethod.latin.R;
import org.dslul.openboard.inputmethod.latin.permissions.PermissionsManager;
@@ -73,13 +74,17 @@ public final class CorrectionSettingsFragment extends SubScreenFragment
@Override
public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) {
- if (TextUtils.equals(key, AndroidSpellCheckerService.PREF_USE_CONTACTS_KEY)
+ if (AndroidSpellCheckerService.PREF_USE_CONTACTS_KEY.equals(key)
&& prefs.getBoolean(key, false)
- && !PermissionsUtil.checkAllPermissionsGranted(
- getActivity() /* context */, Manifest.permission.READ_CONTACTS)
+ && !PermissionsUtil.checkAllPermissionsGranted(getActivity(), Manifest.permission.READ_CONTACTS)
) {
- get(requireContext()).requestPermissions(this /* PermissionsResultCallback */,
- getActivity() /* activity */, Manifest.permission.READ_CONTACTS);
+ get(requireContext()).requestPermissions(this, getActivity(), Manifest.permission.READ_CONTACTS);
+ } else if (Settings.PREF_KEY_USE_PERSONALIZED_DICTS.equals(key) && !prefs.getBoolean(key, true)) {
+ new AlertDialog.Builder(requireContext())
+ .setMessage(R.string.disable_personalized_dicts_message)
+ .setNegativeButton(android.R.string.cancel, (dialogInterface, i) -> ((TwoStatePreference) findPreference(key)).setChecked(true))
+ .setPositiveButton(android.R.string.ok, null)
+ .show();
}
refreshEnabledSettings();
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 56c7bb549..092a21a91 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -83,6 +83,8 @@
Use names from Contacts for suggestions and corrections
Personalized suggestions
+
+ Warning: Disabling this setting will clear learned data
Add words to personal dictionary