diff options
author | Jean Chalard <jchalard@google.com> | 2012-05-09 19:51:20 +0900 |
---|---|---|
committer | Jean Chalard <jchalard@google.com> | 2012-05-09 19:57:14 +0900 |
commit | 657beac9bb27d8c40b5193ecd49ec2c8d46f72bb (patch) | |
tree | e58f3a68056b46150f1d063ee75d6196d524d662 /src/com/android/settings/UserDictionarySettings.java | |
parent | 1571c0a377f4aa94ef424da326a52fad638b3e54 (diff) | |
download | packages_apps_Settings-657beac9bb27d8c40b5193ecd49ec2c8d46f72bb.zip packages_apps_Settings-657beac9bb27d8c40b5193ecd49ec2c8d46f72bb.tar.gz packages_apps_Settings-657beac9bb27d8c40b5193ecd49ec2c8d46f72bb.tar.bz2 |
Rework the de-duplication scheme for shortcuts.
Bug: 4646172
Change-Id: I88966f3e910f51711ce49336fb9134d0953930de
Diffstat (limited to 'src/com/android/settings/UserDictionarySettings.java')
-rw-r--r-- | src/com/android/settings/UserDictionarySettings.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/com/android/settings/UserDictionarySettings.java b/src/com/android/settings/UserDictionarySettings.java index ec21111..822c490 100644 --- a/src/com/android/settings/UserDictionarySettings.java +++ b/src/com/android/settings/UserDictionarySettings.java @@ -67,7 +67,11 @@ public class UserDictionarySettings extends ListFragment { private static final String QUERY_SELECTION_ALL_LOCALES = UserDictionary.Words.LOCALE + " is null"; - private static final String DELETE_SELECTION = UserDictionary.Words.WORD + "=?"; + private static final String DELETE_SELECTION_WITH_SHORTCUT = UserDictionary.Words.WORD + + "=? AND " + UserDictionary.Words.SHORTCUT + "=?"; + private static final String DELETE_SELECTION_WITHOUT_SHORTCUT = UserDictionary.Words.WORD + + "=? AND " + UserDictionary.Words.SHORTCUT + " is null OR " + + UserDictionary.Words.SHORTCUT + "=''"; private static final int OPTIONS_MENU_ADD = Menu.FIRST; @@ -220,9 +224,17 @@ public class UserDictionarySettings extends ListFragment { mCursor.getColumnIndexOrThrow(UserDictionary.Words.SHORTCUT)); } - public static void deleteWord(final String word, final ContentResolver resolver) { - resolver.delete( - UserDictionary.Words.CONTENT_URI, DELETE_SELECTION, new String[] { word }); + public static void deleteWord(final String word, final String shortcut, + final ContentResolver resolver) { + if (TextUtils.isEmpty(shortcut)) { + resolver.delete( + UserDictionary.Words.CONTENT_URI, DELETE_SELECTION_WITHOUT_SHORTCUT, + new String[] { word }); + } else { + resolver.delete( + UserDictionary.Words.CONTENT_URI, DELETE_SELECTION_WITH_SHORTCUT, + new String[] { word, shortcut }); + } } private static class MyAdapter extends SimpleCursorAdapter implements SectionIndexer { |