diff options
| author | Menny Even Danan <menny@evendanan.net> | 2015-06-03 00:44:55 +0000 |
|---|---|---|
| committer | Menny Even Danan <menny@evendanan.net> | 2015-06-03 01:01:37 +0000 |
| commit | 202c3b8083a14a3bfdfdbec388cb1ac63027ec98 (patch) | |
| tree | 8c23215514e0cd08ba56a59184f062cc124a2ec6 | |
| parent | 24efc6500cff660bb25a9e53313bc3ede6cabe95 (diff) | |
| download | AnySoftKeyboard-202c3b8083a14a3bfdfdbec388cb1ac63027ec98.tar.gz AnySoftKeyboard-202c3b8083a14a3bfdfdbec388cb1ac63027ec98.tar.bz2 | |
extracted a few Dictionary classes to a base project
32 files changed, 123 insertions, 80 deletions
diff --git a/.gitignore b/.gitignore index 71dc072a0..644fc5d2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/build/ +build/ .gradle/ /local.signing.properties /.idea/ diff --git a/base/build.gradle b/base/build.gradle new file mode 100644 index 000000000..e11e5f5cc --- /dev/null +++ b/base/build.gradle @@ -0,0 +1,43 @@ +buildscript { + repositories { + mavenLocal() + mavenCentral() + maven { + url 'https://oss.sonatype.org/content/repositories/snapshots/' + } + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.3' + classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0' + } +} + +apply plugin: 'android-sdk-manager' +apply plugin: 'com.android.library' +apply plugin: 'pmd' +apply plugin: 'jacoco' + +android { + compileSdkVersion 22 + buildToolsVersion "22.0.1" + + defaultConfig { + minSdkVersion 7 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + repositories { + mavenCentral() + } + compile 'net.evendanan.anysoftkeyboard:api:1.2.3' + compile 'com.android.support:support-annotations:21.0.0' +} diff --git a/base/src/main/AndroidManifest.xml b/base/src/main/AndroidManifest.xml new file mode 100644 index 000000000..1995dac03 --- /dev/null +++ b/base/src/main/AndroidManifest.xml @@ -0,0 +1,5 @@ +<manifest package="com.anysoftkeyboard.base"> + + <application /> + +</manifest> diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/Dictionary.java b/base/src/main/java/com/anysoftkeyboard/base/dictionaries/Dictionary.java index af688bea0..5bab6bf65 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/Dictionary.java +++ b/base/src/main/java/com/anysoftkeyboard/base/dictionaries/Dictionary.java @@ -14,9 +14,7 @@ * limitations under the License. */ -package com.anysoftkeyboard.dictionaries; - -import com.anysoftkeyboard.WordComposer; +package com.anysoftkeyboard.base.dictionaries; /** * Abstract base class for a dictionary that can do a fuzzy search for words based on a set of key @@ -25,6 +23,7 @@ import com.anysoftkeyboard.WordComposer; abstract public class Dictionary { private static final String TAG = "ASK_DICT"; + public static final int MAX_WORD_LENGTH = 32; public static final int MAX_WORD_FREQUENCY = 255; /** @@ -81,7 +80,7 @@ abstract public class Dictionary { * * @param composer the key sequence to match * @param callback the callback object to send matched words to as possible candidates - * @see WordCallback#addWord(char[], int, int, int, com.anysoftkeyboard.dictionaries.Dictionary) + * @see WordCallback#addWord(char[], int, int, int, Dictionary) */ abstract public void getWords(final WordComposer composer, final WordCallback callback); @@ -102,7 +101,7 @@ abstract public class Dictionary { * @param typedWord the word to compare with * @return true if they are the same, false otherwise. */ - static protected final boolean same(final char[] word, final int length, final CharSequence typedWord) { + static protected boolean same(final char[] word, final int length, final CharSequence typedWord) { if (typedWord.length() != length) { return false; } diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/EditableDictionary.java b/base/src/main/java/com/anysoftkeyboard/base/dictionaries/EditableDictionary.java index d2c36d55b..2d4b33eb8 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/EditableDictionary.java +++ b/base/src/main/java/com/anysoftkeyboard/base/dictionaries/EditableDictionary.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.anysoftkeyboard.dictionaries; +package com.anysoftkeyboard.base.dictionaries; public abstract class EditableDictionary extends Dictionary { @@ -30,7 +30,6 @@ public abstract class EditableDictionary extends Dictionary { * recognize it as a capitalized word when searched. * @param frequency the frequency of occurrence of the word. A frequency of 255 is considered * the highest. - * @TODO use a higher or float range for frequency */ public abstract boolean addWord(String word, int frequency); diff --git a/src/main/java/com/anysoftkeyboard/WordComposer.java b/base/src/main/java/com/anysoftkeyboard/base/dictionaries/WordComposer.java index 4079f12b5..947473023 100644 --- a/src/main/java/com/anysoftkeyboard/WordComposer.java +++ b/base/src/main/java/com/anysoftkeyboard/base/dictionaries/WordComposer.java @@ -14,12 +14,7 @@ * limitations under the License. */ -package com.anysoftkeyboard; - -import com.anysoftkeyboard.dictionaries.content.AndroidUserDictionary; -import com.anysoftkeyboard.keyboards.views.AnyKeyboardBaseView; -import com.anysoftkeyboard.utils.Log; -import com.menny.android.anysoftkeyboard.FeaturesSet; +package com.anysoftkeyboard.base.dictionaries; import java.util.ArrayList; import java.util.Arrays; @@ -30,23 +25,23 @@ import java.util.List; */ public class WordComposer { private static final String CHEWBACCAONTHEDRUMS = "chewbacca"; - private static final String TAG = "ASK _WC"; + public static final int NOT_A_KEY_INDEX = -1; /** * The list of unicode values for each keystroke (including surrounding keys) */ - private final ArrayList<int[]> mCodes = new ArrayList<>(AndroidUserDictionary.MAX_WORD_LENGTH); + private final ArrayList<int[]> mCodes = new ArrayList<>(Dictionary.MAX_WORD_LENGTH); /** * This holds arrays for reuse. Will not exceed AndroidUserDictionary.MAX_WORD_LENGTH */ - private final List<int[]> mArraysToReuse = new ArrayList<>(AndroidUserDictionary.MAX_WORD_LENGTH); + private final List<int[]> mArraysToReuse = new ArrayList<>(Dictionary.MAX_WORD_LENGTH); /** * The word chosen from the candidate list, until it is committed. */ private CharSequence mPreferredWord; - private final StringBuilder mTypedWord = new StringBuilder(AndroidUserDictionary.MAX_WORD_LENGTH); + private final StringBuilder mTypedWord = new StringBuilder(Dictionary.MAX_WORD_LENGTH); private int mCursorPosition; private int mGlobalCursorPosition; @@ -115,9 +110,8 @@ public class WordComposer { } public boolean setCursorPostion(int position/*, int candidatesStartPosition*/) { - if (position < 0 || position > length())//note: the cursor can be AFTER the word, so it can be equal to size() - { - Log.w(TAG, "New cursor position is invalid! It is outside the word (size " + length() + ", new position " + position + ". Disregarding!!!!"); + if (position < 0 || position > length()) { + //note: the cursor can be AFTER the word, so it can be equal to size() return false; } final boolean changed = mCursorPosition != position; @@ -195,13 +189,11 @@ public class WordComposer { if (possibleArray.length >= codes.length) { System.arraycopy(codes, 0, possibleArray, 0, codes.length); if (possibleArray.length > codes.length) - Arrays.fill(possibleArray, codes.length, possibleArray.length, AnyKeyboardBaseView.NOT_A_KEY); - Log.d(TAG, "Found an array to reuse with length " + possibleArray.length); + Arrays.fill(possibleArray, codes.length, possibleArray.length, NOT_A_KEY_INDEX); return possibleArray; } } //if I got here, it means that the reusableArray does not contain a long enough array - Log.d(TAG, "Creating a new array with length " + codes.length); int[] newArray = new int[codes.length]; mArraysToReuse.add(newArray); return getReusableArray(codes); @@ -289,8 +281,6 @@ public class WordComposer { /** * Stores the user's selected word, before it is actually committed to the text field. - * - * @param preferred */ public void setPreferredWord(CharSequence preferred) { mPreferredWord = preferred; @@ -326,16 +316,17 @@ public class WordComposer { return mAutoCapitalized; } - public void logCodes() { - if (!FeaturesSet.DEBUG_LOG) return; - Log.d(TAG, "Word: " + mTypedWord + ", prefered word:" + mPreferredWord); + public String logCodes() { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("Word: ").append(mTypedWord).append(", preferred word:").append(mPreferredWord); int i = 0; for (int[] codes : mCodes) { - String codesString = "Codes #" + i + ": "; + stringBuilder.append("\n"); + stringBuilder.append("Codes #").append(i).append(": "); for (int c : codes) { - codesString += "" + c + ","; + stringBuilder.append(c).append(","); } - Log.d(TAG, codesString); } + return stringBuilder.toString(); } } diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/WordsCursor.java b/base/src/main/java/com/anysoftkeyboard/base/dictionaries/WordsCursor.java index 8ea6096d9..fe9ea6054 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/WordsCursor.java +++ b/base/src/main/java/com/anysoftkeyboard/base/dictionaries/WordsCursor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.anysoftkeyboard.dictionaries; +package com.anysoftkeyboard.base.dictionaries; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; diff --git a/build.gradle b/build.gradle index 6ab72a230..c65228753 100644 --- a/build.gradle +++ b/build.gradle @@ -173,6 +173,7 @@ dependencies { url 'https://oss.sonatype.org/content/repositories/snapshots/' } } + compile project(':base') compile project(':jnidictionaryv1') compile project(':jnidictionaryv2') diff --git a/settings.gradle b/settings.gradle index 6bdb5fce4..9c458b5df 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':jnidictionaryv1', ':jnidictionaryv2' +include ':base', ':jnidictionaryv1', ':jnidictionaryv2' diff --git a/src/main/java/com/anysoftkeyboard/AnySoftKeyboard.java b/src/main/java/com/anysoftkeyboard/AnySoftKeyboard.java index 5cb96b2eb..2eeecf535 100644 --- a/src/main/java/com/anysoftkeyboard/AnySoftKeyboard.java +++ b/src/main/java/com/anysoftkeyboard/AnySoftKeyboard.java @@ -55,9 +55,10 @@ import android.widget.Toast; import com.anysoftkeyboard.LayoutSwitchAnimationListener.AnimationType; import com.anysoftkeyboard.api.KeyCodes; +import com.anysoftkeyboard.base.dictionaries.WordComposer; import com.anysoftkeyboard.devicespecific.Clipboard; import com.anysoftkeyboard.dictionaries.DictionaryAddOnAndBuilder; -import com.anysoftkeyboard.dictionaries.EditableDictionary; +import com.anysoftkeyboard.base.dictionaries.EditableDictionary; import com.anysoftkeyboard.dictionaries.ExternalDictionaryFactory; import com.anysoftkeyboard.dictionaries.Suggest; import com.anysoftkeyboard.dictionaries.TextEntryState; diff --git a/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific.java b/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific.java index 2fe7a4a0d..cd29b31a1 100644 --- a/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific.java +++ b/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific.java @@ -22,7 +22,7 @@ import android.view.GestureDetector; import android.view.inputmethod.InputConnection; import com.anysoftkeyboard.IndirectlyInstantiated; -import com.anysoftkeyboard.WordComposer; +import com.anysoftkeyboard.base.dictionaries.WordComposer; @IndirectlyInstantiated public interface DeviceSpecific { diff --git a/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific_V11.java b/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific_V11.java index 84419e8f8..4b5f82024 100644 --- a/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific_V11.java +++ b/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific_V11.java @@ -22,7 +22,7 @@ import android.view.inputmethod.CorrectionInfo; import android.view.inputmethod.InputConnection; import com.anysoftkeyboard.IndirectlyInstantiated; -import com.anysoftkeyboard.WordComposer; +import com.anysoftkeyboard.base.dictionaries.WordComposer; @TargetApi(11) @IndirectlyInstantiated @@ -33,8 +33,7 @@ public class DeviceSpecific_V11 extends DeviceSpecific_V8 { } @Override - public void commitCorrectionToInputConnection(InputConnection ic, - WordComposer word) { + public void commitCorrectionToInputConnection(InputConnection ic, WordComposer word) { super.commitCorrectionToInputConnection(ic, word); CorrectionInfo correctionInfo = new CorrectionInfo( word.globalCursorPosition() - word.getTypedWord().length(), @@ -45,6 +44,6 @@ public class DeviceSpecific_V11 extends DeviceSpecific_V8 { @Override public boolean isHardwareAcceleratedCanvas(Canvas canvas) { - return canvas != null || canvas.isHardwareAccelerated(); + return canvas != null && canvas.isHardwareAccelerated(); } } diff --git a/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific_V3.java b/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific_V3.java index d6d46037f..cebaa812b 100644 --- a/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific_V3.java +++ b/src/main/java/com/anysoftkeyboard/devicespecific/DeviceSpecific_V3.java @@ -24,7 +24,7 @@ import android.view.GestureDetector; import android.view.inputmethod.InputConnection; import com.anysoftkeyboard.IndirectlyInstantiated; -import com.anysoftkeyboard.WordComposer; +import com.anysoftkeyboard.base.dictionaries.WordComposer; @TargetApi(3) @IndirectlyInstantiated diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/BTreeDictionary.java b/src/main/java/com/anysoftkeyboard/dictionaries/BTreeDictionary.java index f204dde28..f63bc84f4 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/BTreeDictionary.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/BTreeDictionary.java @@ -22,7 +22,10 @@ import android.database.ContentObserver; import android.database.Cursor; import android.text.TextUtils; -import com.anysoftkeyboard.WordComposer; +import com.anysoftkeyboard.base.dictionaries.Dictionary; +import com.anysoftkeyboard.base.dictionaries.EditableDictionary; +import com.anysoftkeyboard.base.dictionaries.WordComposer; +import com.anysoftkeyboard.base.dictionaries.WordsCursor; import com.anysoftkeyboard.utils.Log; import com.menny.android.anysoftkeyboard.AnyApplication; import com.menny.android.anysoftkeyboard.FeaturesSet; @@ -207,7 +210,7 @@ public abstract class BTreeDictionary extends EditableDictionary { protected abstract void AddWordToStorage(String word, int frequency); @Override - public void getWords(final WordComposer codes, final WordCallback callback) { + public void getWords(final WordComposer codes, final Dictionary.WordCallback callback) { if (isLoading() || isClosed()) return; mInputLength = codes.length(); mMaxDepth = mInputLength * 2; diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryASyncLoader.java b/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryASyncLoader.java index 5312298ad..09c82b1bb 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryASyncLoader.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryASyncLoader.java @@ -1,6 +1,8 @@ package com.anysoftkeyboard.dictionaries; import android.os.AsyncTask; + +import com.anysoftkeyboard.base.dictionaries.Dictionary; import com.anysoftkeyboard.utils.Log; import java.lang.ref.WeakReference; @@ -17,7 +19,7 @@ public class DictionaryASyncLoader extends AsyncTask<Dictionary, Void, Dictionar private Exception mException = null; public DictionaryASyncLoader(Listener listener) { - mListener = new WeakReference<Listener>(listener); + mListener = new WeakReference<>(listener); } @Override @@ -53,9 +55,8 @@ public class DictionaryASyncLoader extends AsyncTask<Dictionary, Void, Dictionar } } - public static interface Listener { + public interface Listener { void onDictionaryLoadingDone(Dictionary dictionary); - void onDictionaryLoadingFailed(Dictionary dictionary, Exception exception); } } diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryAddOnAndBuilder.java b/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryAddOnAndBuilder.java index f00707b16..dcaa47ecd 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryAddOnAndBuilder.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryAddOnAndBuilder.java @@ -18,6 +18,7 @@ package com.anysoftkeyboard.dictionaries; import android.content.Context; import com.anysoftkeyboard.addons.AddOnImpl; +import com.anysoftkeyboard.base.dictionaries.Dictionary; import com.anysoftkeyboard.dictionaries.jni.BinaryDictionary; import com.anysoftkeyboard.dictionaries.jni.ResourceBinaryDictionary; import com.anysoftkeyboard.utils.Log; diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryFactory.java b/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryFactory.java index a563282e0..4d9bc7ee8 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryFactory.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/DictionaryFactory.java @@ -18,6 +18,8 @@ package com.anysoftkeyboard.dictionaries; import android.content.Context; +import com.anysoftkeyboard.base.dictionaries.Dictionary; +import com.anysoftkeyboard.base.dictionaries.EditableDictionary; import com.anysoftkeyboard.dictionaries.content.ContactsDictionary; import com.anysoftkeyboard.dictionaries.sqlite.AutoDictionary; import com.anysoftkeyboard.utils.Log; diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/Suggest.java b/src/main/java/com/anysoftkeyboard/dictionaries/Suggest.java index e271c7480..82b32ff06 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/Suggest.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/Suggest.java @@ -21,7 +21,8 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; -import com.anysoftkeyboard.WordComposer; +import com.anysoftkeyboard.base.dictionaries.Dictionary; +import com.anysoftkeyboard.base.dictionaries.WordComposer; import com.anysoftkeyboard.dictionaries.sqlite.AbbreviationsDictionary; import com.anysoftkeyboard.utils.CompatUtils; import com.anysoftkeyboard.utils.IMEUtil; @@ -184,7 +185,6 @@ public class Suggest implements Dictionary.WordCallback { * Number of suggestions to generate from the input key sequence. This has * to be a number between 1 and 100 (inclusive). * - * @param maxSuggestions * @throws IllegalArgumentException if the number is out of range */ public void setMaxSuggestions(int maxSuggestions) { diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/UserDictionary.java b/src/main/java/com/anysoftkeyboard/dictionaries/UserDictionary.java index fd4f7e466..216ce8799 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/UserDictionary.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/UserDictionary.java @@ -17,7 +17,10 @@ package com.anysoftkeyboard.dictionaries; import android.content.Context; -import com.anysoftkeyboard.WordComposer; + +import com.anysoftkeyboard.base.dictionaries.EditableDictionary; +import com.anysoftkeyboard.base.dictionaries.WordComposer; +import com.anysoftkeyboard.base.dictionaries.WordsCursor; import com.anysoftkeyboard.dictionaries.content.AndroidUserDictionary; import com.anysoftkeyboard.dictionaries.sqlite.FallbackUserDictionary; import com.anysoftkeyboard.utils.Log; @@ -46,10 +49,7 @@ public class UserDictionary extends EditableDictionary { @Override public final boolean isValidWord(CharSequence word) { - if (mActualDictionary != null) - return mActualDictionary.isValidWord(word); - else - return false; + return mActualDictionary != null && mActualDictionary.isValidWord(word); } @Override diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/content/AndroidUserDictionary.java b/src/main/java/com/anysoftkeyboard/dictionaries/content/AndroidUserDictionary.java index ecf2cab2a..e34544e2a 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/content/AndroidUserDictionary.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/content/AndroidUserDictionary.java @@ -24,8 +24,9 @@ import android.database.Cursor; import android.net.Uri; import android.provider.UserDictionary.Words; import android.text.TextUtils; + +import com.anysoftkeyboard.base.dictionaries.WordsCursor; import com.anysoftkeyboard.dictionaries.BTreeDictionary; -import com.anysoftkeyboard.dictionaries.WordsCursor; import com.anysoftkeyboard.utils.Log; public class AndroidUserDictionary extends BTreeDictionary { diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/content/ContactsDictionary.java b/src/main/java/com/anysoftkeyboard/dictionaries/content/ContactsDictionary.java index c475bd483..d129c3cf1 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/content/ContactsDictionary.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/content/ContactsDictionary.java @@ -23,8 +23,8 @@ import android.database.ContentObserver; import android.database.Cursor; import android.provider.ContactsContract.Contacts; +import com.anysoftkeyboard.base.dictionaries.WordsCursor; import com.anysoftkeyboard.dictionaries.BTreeDictionary; -import com.anysoftkeyboard.dictionaries.WordsCursor; @TargetApi(7) public class ContactsDictionary extends BTreeDictionary { diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/jni/BinaryDictionary.java b/src/main/java/com/anysoftkeyboard/dictionaries/jni/BinaryDictionary.java index ea5b51ad9..85b0d2a74 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/jni/BinaryDictionary.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/jni/BinaryDictionary.java @@ -17,8 +17,9 @@ package com.anysoftkeyboard.dictionaries.jni; import android.content.res.AssetFileDescriptor; -import com.anysoftkeyboard.WordComposer; -import com.anysoftkeyboard.dictionaries.Dictionary; + +import com.anysoftkeyboard.base.dictionaries.Dictionary; +import com.anysoftkeyboard.base.dictionaries.WordComposer; import com.anysoftkeyboard.utils.Log; import java.io.FileDescriptor; diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/jni/ResourceBinaryDictionary.java b/src/main/java/com/anysoftkeyboard/dictionaries/jni/ResourceBinaryDictionary.java index 5f0f32a7c..aac12670c 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/jni/ResourceBinaryDictionary.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/jni/ResourceBinaryDictionary.java @@ -20,8 +20,8 @@ import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; -import com.anysoftkeyboard.WordComposer; -import com.anysoftkeyboard.dictionaries.Dictionary; +import com.anysoftkeyboard.base.dictionaries.Dictionary; +import com.anysoftkeyboard.base.dictionaries.WordComposer; import com.anysoftkeyboard.utils.IMEUtil.GCUtils; import com.anysoftkeyboard.utils.IMEUtil.GCUtils.MemRelatedOperation; import com.anysoftkeyboard.utils.Log; diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/AbbreviationsDictionary.java b/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/AbbreviationsDictionary.java index 61f131ec3..0c48cfd0b 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/AbbreviationsDictionary.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/AbbreviationsDictionary.java @@ -18,13 +18,10 @@ package com.anysoftkeyboard.dictionaries.sqlite; import android.content.Context; import android.support.annotation.NonNull; -import android.text.TextUtils; -import com.anysoftkeyboard.WordComposer; -import com.anysoftkeyboard.dictionaries.Dictionary; +import com.anysoftkeyboard.base.dictionaries.WordComposer; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/AutoDictionary.java b/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/AutoDictionary.java index 23cb60130..06a70ed2f 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/AutoDictionary.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/AutoDictionary.java @@ -18,7 +18,7 @@ package com.anysoftkeyboard.dictionaries.sqlite; import android.content.Context; import com.anysoftkeyboard.AnySoftKeyboard; -import com.anysoftkeyboard.WordComposer; +import com.anysoftkeyboard.base.dictionaries.WordComposer; import com.anysoftkeyboard.utils.Log; import com.menny.android.anysoftkeyboard.AnyApplication; diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/SQLiteUserDictionaryBase.java b/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/SQLiteUserDictionaryBase.java index f438cef10..c19fa5355 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/SQLiteUserDictionaryBase.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/SQLiteUserDictionaryBase.java @@ -20,8 +20,9 @@ import android.content.ContentResolver; import android.content.Context; import android.database.ContentObserver; import android.database.sqlite.SQLiteException; + +import com.anysoftkeyboard.base.dictionaries.WordsCursor; import com.anysoftkeyboard.dictionaries.BTreeDictionary; -import com.anysoftkeyboard.dictionaries.WordsCursor; import com.anysoftkeyboard.utils.Log; public abstract class SQLiteUserDictionaryBase extends BTreeDictionary { diff --git a/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/WordsSQLiteConnection.java b/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/WordsSQLiteConnection.java index a80a1ba95..cf708d250 100644 --- a/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/WordsSQLiteConnection.java +++ b/src/main/java/com/anysoftkeyboard/dictionaries/sqlite/WordsSQLiteConnection.java @@ -22,7 +22,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.text.TextUtils; -import com.anysoftkeyboard.dictionaries.WordsCursor; + +import com.anysoftkeyboard.base.dictionaries.WordsCursor; import com.anysoftkeyboard.utils.Log; public class WordsSQLiteConnection extends SQLiteOpenHelper { @@ -128,8 +129,6 @@ public class WordsSQLiteConnection extends SQLiteOpenHelper { /** * This is a compatibility function: SQLiteOpenHelper.getDatabaseName exists only in API14 - * - * @return */ public String getDbFilename() { return mDbName; diff --git a/src/main/java/com/anysoftkeyboard/spellcheck/SuggestionsGatherer.java b/src/main/java/com/anysoftkeyboard/spellcheck/SuggestionsGatherer.java index a1e0e17b4..ad1a93f46 100644 --- a/src/main/java/com/anysoftkeyboard/spellcheck/SuggestionsGatherer.java +++ b/src/main/java/com/anysoftkeyboard/spellcheck/SuggestionsGatherer.java @@ -16,8 +16,7 @@ package com.anysoftkeyboard.spellcheck; -import com.anysoftkeyboard.dictionaries.Dictionary; -import com.anysoftkeyboard.dictionaries.Dictionary.WordCallback; +import com.anysoftkeyboard.base.dictionaries.Dictionary; import com.anysoftkeyboard.utils.ArraysCompatUtils; import com.anysoftkeyboard.utils.IMEUtil; import com.anysoftkeyboard.utils.Log; @@ -25,7 +24,7 @@ import com.anysoftkeyboard.utils.Log; import java.util.ArrayList; import java.util.Collections; -class SuggestionsGatherer implements WordCallback { +class SuggestionsGatherer implements Dictionary.WordCallback { public static class Result { public final String[] mSuggestions; public final boolean mHasLikelySuggestions; diff --git a/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/AbbreviationDictionaryEditorFragment.java b/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/AbbreviationDictionaryEditorFragment.java index 0aea58667..84f2aeda0 100644 --- a/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/AbbreviationDictionaryEditorFragment.java +++ b/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/AbbreviationDictionaryEditorFragment.java @@ -9,7 +9,7 @@ import android.view.ViewGroup; import android.widget.EditText; import android.widget.TextView; -import com.anysoftkeyboard.dictionaries.EditableDictionary; +import com.anysoftkeyboard.base.dictionaries.EditableDictionary; import com.anysoftkeyboard.dictionaries.sqlite.AbbreviationsDictionary; import com.menny.android.anysoftkeyboard.R; diff --git a/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/BackupUserWordsAsyncTask.java b/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/BackupUserWordsAsyncTask.java index e19bd954c..a5f1cfec5 100644 --- a/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/BackupUserWordsAsyncTask.java +++ b/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/BackupUserWordsAsyncTask.java @@ -23,8 +23,8 @@ import android.provider.UserDictionary.Words; import android.text.TextUtils; import android.widget.Toast; +import com.anysoftkeyboard.base.dictionaries.WordsCursor; import com.anysoftkeyboard.dictionaries.UserDictionary; -import com.anysoftkeyboard.dictionaries.WordsCursor; import com.anysoftkeyboard.utils.Log; import com.anysoftkeyboard.utils.XmlWriter; import com.menny.android.anysoftkeyboard.R; diff --git a/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/RestoreUserWordsAsyncTask.java b/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/RestoreUserWordsAsyncTask.java index 8204973db..a05195332 100644 --- a/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/RestoreUserWordsAsyncTask.java +++ b/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/RestoreUserWordsAsyncTask.java @@ -39,6 +39,7 @@ import javax.xml.parsers.SAXParserFactory; final class RestoreUserWordsAsyncTask extends UserWordsEditorAsyncTask { protected static final String TAG = "ASK RestoreUDict"; + private final Object mLoadMonitor = new Object(); private final Context mAppContext; private final String mFilename; private String mLocale; @@ -87,9 +88,8 @@ final class RestoreUserWordsAsyncTask extends UserWordsEditorAsyncTask { if (localName.equals("wordlist")) { mLocale = attributes.getValue("locale"); - synchronized (mLocale) { - Log.d(TAG, "Building dictionary for locale " - + mLocale); + synchronized (mLoadMonitor) { + Log.d(TAG, "Building dictionary for locale " + mLocale); publishProgress(); // waiting for dictionary to be ready. try { @@ -127,7 +127,7 @@ final class RestoreUserWordsAsyncTask extends UserWordsEditorAsyncTask { @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); - synchronized (mLocale) { + synchronized (mLoadMonitor) { if (mDictionary != null) { mDictionary.close(); } @@ -166,7 +166,7 @@ final class RestoreUserWordsAsyncTask extends UserWordsEditorAsyncTask { activity.fillLanguagesSpinner(); } catch (BadTokenException e) { // activity gone away! - // nevermind + // never mind } } }
\ No newline at end of file diff --git a/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/UserDictionaryEditorFragment.java b/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/UserDictionaryEditorFragment.java index f000891f9..dc8aa26d0 100644 --- a/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/UserDictionaryEditorFragment.java +++ b/src/main/java/com/anysoftkeyboard/ui/settings/wordseditor/UserDictionaryEditorFragment.java @@ -40,9 +40,9 @@ import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; -import com.anysoftkeyboard.dictionaries.EditableDictionary; +import com.anysoftkeyboard.base.dictionaries.EditableDictionary; +import com.anysoftkeyboard.base.dictionaries.WordsCursor; import com.anysoftkeyboard.dictionaries.UserDictionary; -import com.anysoftkeyboard.dictionaries.WordsCursor; import com.anysoftkeyboard.keyboards.KeyboardAddOnAndBuilder; import com.anysoftkeyboard.keyboards.KeyboardFactory; import com.anysoftkeyboard.utils.Log; |
