summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/UserDictionarySettings.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-05-09 19:51:20 +0900
committerJean Chalard <jchalard@google.com>2012-05-09 19:57:14 +0900
commit657beac9bb27d8c40b5193ecd49ec2c8d46f72bb (patch)
treee58f3a68056b46150f1d063ee75d6196d524d662 /src/com/android/settings/UserDictionarySettings.java
parent1571c0a377f4aa94ef424da326a52fad638b3e54 (diff)
downloadpackages_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.java20
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 {