From 1fb887f2649cff9543ec45be07ce438277d29020 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Wed, 24 Jul 2013 17:21:45 +0900 Subject: Fix a bug with multiple word insertion. Bug: 7903831 Change-Id: I5202bc529a570292dd78d8503d8e2cc93b43d354 --- .../inputmethod/UserDictionaryAddWordContents.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/com/android/settings/inputmethod/UserDictionaryAddWordContents.java') diff --git a/src/com/android/settings/inputmethod/UserDictionaryAddWordContents.java b/src/com/android/settings/inputmethod/UserDictionaryAddWordContents.java index 4aa73ca..d81703e 100644 --- a/src/com/android/settings/inputmethod/UserDictionaryAddWordContents.java +++ b/src/com/android/settings/inputmethod/UserDictionaryAddWordContents.java @@ -57,6 +57,8 @@ public class UserDictionaryAddWordContents { private String mLocale; private final String mOldWord; private final String mOldShortcut; + private String mSavedWord; + private String mSavedShortcut; /* package */ UserDictionaryAddWordContents(final View view, final Bundle args) { mWordEditText = (EditText)view.findViewById(R.id.user_dictionary_add_word_text); @@ -78,6 +80,16 @@ public class UserDictionaryAddWordContents { updateLocale(args.getString(EXTRA_LOCALE)); } + /* package */ UserDictionaryAddWordContents(final View view, + final UserDictionaryAddWordContents oldInstanceToBeEdited) { + mWordEditText = (EditText)view.findViewById(R.id.user_dictionary_add_word_text); + mShortcutEditText = (EditText)view.findViewById(R.id.user_dictionary_add_shortcut); + mMode = MODE_EDIT; + mOldWord = oldInstanceToBeEdited.mSavedWord; + mOldShortcut = oldInstanceToBeEdited.mSavedShortcut; + updateLocale(mLocale); + } + // locale may be null, this means default locale // It may also be the empty string, which means "all locales" /* package */ void updateLocale(final String locale) { @@ -128,6 +140,8 @@ public class UserDictionaryAddWordContents { // If the word is somehow empty, don't insert it. return UserDictionaryAddWordActivity.CODE_CANCEL; } + mSavedWord = newWord; + mSavedShortcut = newShortcut; // If there is no shortcut, and the word already exists in the database, then we // should not insert, because either A. the word exists with no shortcut, in which // case the exact same thing we want to insert is already there, or B. the word -- cgit v1.1