diff options
author | 2012-04-23 22:18:27 +0900 | |
---|---|---|
committer | 2012-04-25 15:42:14 +0900 | |
commit | cbaf6d85f185ef34649825412dcc080b587fcf08 (patch) | |
tree | 4f0658f21e2152e1a641550b0edb2b16679116c6 /java | |
parent | 9f0a137f82a1f6f191d1ff3beb9104efec16b30d (diff) | |
download | latinime-cbaf6d85f185ef34649825412dcc080b587fcf08.tar.gz latinime-cbaf6d85f185ef34649825412dcc080b587fcf08.tar.xz latinime-cbaf6d85f185ef34649825412dcc080b587fcf08.zip |
Cancel SubtypePreference dialog properly
Bug: 6384416
Bug: 6387408
Change-Id: Ia7b0653a09410b42a55915815c887bf0ad56c856
Diffstat (limited to 'java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java index 579cc398e..8ce91fd2d 100644 --- a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java +++ b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java @@ -141,7 +141,8 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { public KeyboardLayoutSetAdapter getKeyboardLayoutSetAdapter(); } - static class SubtypePreference extends DialogPreference { + static class SubtypePreference extends DialogPreference + implements DialogInterface.OnCancelListener { private static final String KEY_PREFIX = "subtype_pref_"; private static final String KEY_NEW_SUBTYPE = KEY_PREFIX + "new"; @@ -205,6 +206,7 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { @Override protected void onPrepareDialogBuilder(AlertDialog.Builder builder) { final Context context = builder.getContext(); + builder.setCancelable(true).setOnCancelListener(this); if (isIncomplete()) { builder.setPositiveButton(R.string.add, this) .setNegativeButton(android.R.string.cancel, this); @@ -233,6 +235,13 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { } @Override + public void onCancel(DialogInterface dialog) { + if (isIncomplete()) { + mProxy.onRemovePressed(this); + } + } + + @Override public void onClick(DialogInterface dialog, int which) { super.onClick(dialog, which); switch (which) { |