diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java index be807ab0c..0bde2c011 100644 --- a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java +++ b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java @@ -131,6 +131,7 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { private interface SubtypeDialogProxy { public void onRemovePressed(SubtypePreference subtypePref); + public void onAddPressed(SubtypePreference subtypePref); public SubtypeLocaleAdapter getSubtypeLocaleAdapter(); public KeyboardLayoutSetAdapter getKeyboardLayoutSetAdapter(); } @@ -241,6 +242,7 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { super.onClick(dialog, which); switch (which) { case DialogInterface.BUTTON_POSITIVE: + final boolean addPressed = isIncomplete(); final SubtypeLocaleItem locale = (SubtypeLocaleItem) mSubtypeLocaleSpinner.getSelectedItem(); final KeyboardLayoutSetItem layout = @@ -249,6 +251,9 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { locale.first, layout.first, ASCII_CAPABLE); setSubtype(subtype); notifyChanged(); + if (addPressed) { + mProxy.onAddPressed(this); + } break; case DialogInterface.BUTTON_NEUTRAL: // Nothing to do @@ -390,6 +395,11 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { } } + @Override + public void onAddPressed(SubtypePreference subtypePref) { + mIsAddingNewSubtype = false; + } + @Override public SubtypeLocaleAdapter getSubtypeLocaleAdapter() { return mSubtypeLocaleAdapter;