Add @UsedForTesting and @ExternallyReferenced annotations
Bug: 7268357 Change-Id: I0b7e0c19f04af9ae30874d0a4c26ad81bc80be8cmain
parent
243c1fecc6
commit
15f6d4ae34
|
@ -1,64 +1,11 @@
|
|||
-keep class com.android.inputmethod.latin.BinaryDictionary {
|
||||
int mDictLength;
|
||||
<init>(...);
|
||||
# Keep classes and methods that have the @UsedForTesting annotation
|
||||
-keep @com.android.inputmethod.annotations.UsedForTesting class *
|
||||
-keepclassmembers class * {
|
||||
@com.android.inputmethod.annotations.UsedForTesting *;
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.keyboard.ProximityInfo {
|
||||
<init>(com.android.inputmethod.keyboard.ProximityInfo);
|
||||
# Keep classes and methods that have the @ExternallyReferenced annotation
|
||||
-keep @com.android.inputmethod.annotations.ExternallyReferenced class *
|
||||
-keepclassmembers class * {
|
||||
@com.android.inputmethod.annotations.ExternallyReferenced *;
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.latin.Suggest {
|
||||
<init>(...);
|
||||
com.android.inputmethod.latin.SuggestedWords getSuggestions(...);
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.latin.AutoCorrection {
|
||||
java.lang.CharSequence getAutoCorrectionWord();
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.latin.Utils {
|
||||
boolean equalsIgnoreCase(...);
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.latin.InputPointers {
|
||||
*;
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.latin.ResizableIntArray {
|
||||
*;
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.latin.spellcheck.SpellCheckerSettingsFragment {
|
||||
*;
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.keyboard.MainKeyboardView {
|
||||
# Keep getter/setter methods for ObjectAnimator
|
||||
int getLanguageOnSpacebarAnimAlpha();
|
||||
void setLanguageOnSpacebarAnimAlpha(int);
|
||||
int getAltCodeKeyWhileTypingAnimAlpha();
|
||||
void setAltCodeKeyWhileTypingAnimAlpha(int);
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.keyboard.MoreKeysKeyboard$Builder$MoreKeysKeyboardParams {
|
||||
<init>(...);
|
||||
}
|
||||
|
||||
-keepclasseswithmembernames class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.research.ResearchLogger {
|
||||
void flush();
|
||||
void publishCurrentLogUnit(...);
|
||||
}
|
||||
|
||||
-keep class com.android.inputmethod.keyboard.KeyboardLayoutSet$Builder {
|
||||
void setTouchPositionCorrectionEnabled(...);
|
||||
}
|
||||
|
||||
# The support library contains references to newer platform versions.
|
||||
# Don't warn about those in case this app is linking against an older
|
||||
# platform version. We know about them, and they are safe.
|
||||
-dontwarn android.support.v4.**
|
||||
-dontwarn android.support.v13.**
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Copyright (C) 2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.inputmethod.annotations;
|
||||
|
||||
/**
|
||||
* Denotes that the class, method or field should not be eliminated by ProGuard,
|
||||
* because it is externally referenced. (See proguard.flags)
|
||||
*/
|
||||
public @interface ExternallyReferenced {
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Copyright (C) 2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.inputmethod.annotations;
|
||||
|
||||
/**
|
||||
* Denotes that the class, method or field should not be eliminated by ProGuard,
|
||||
* so that unit tests can access it. (See proguard.flags)
|
||||
*/
|
||||
public @interface UsedForTesting {
|
||||
}
|
|
@ -34,6 +34,7 @@ import android.util.Xml;
|
|||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.compat.EditorInfoCompatUtils;
|
||||
import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
|
||||
import com.android.inputmethod.keyboard.internal.KeyboardParams;
|
||||
|
@ -265,7 +266,7 @@ public final class KeyboardLayoutSet {
|
|||
return this;
|
||||
}
|
||||
|
||||
// For test only
|
||||
@UsedForTesting
|
||||
public void disableTouchPositionCorrectionDataForTest() {
|
||||
mParams.mDisableTouchPositionCorrectionDataForTest = true;
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import android.widget.PopupWindow;
|
|||
|
||||
import com.android.inputmethod.accessibility.AccessibilityUtils;
|
||||
import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
|
||||
import com.android.inputmethod.annotations.ExternallyReferenced;
|
||||
import com.android.inputmethod.keyboard.PointerTracker.DrawingProxy;
|
||||
import com.android.inputmethod.keyboard.PointerTracker.TimerProxy;
|
||||
import com.android.inputmethod.keyboard.internal.KeyDrawParams;
|
||||
|
@ -417,20 +418,23 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
|
|||
return animator;
|
||||
}
|
||||
|
||||
// Getter/setter methods for {@link ObjectAnimator}.
|
||||
@ExternallyReferenced
|
||||
public int getLanguageOnSpacebarAnimAlpha() {
|
||||
return mLanguageOnSpacebarAnimAlpha;
|
||||
}
|
||||
|
||||
@ExternallyReferenced
|
||||
public void setLanguageOnSpacebarAnimAlpha(final int alpha) {
|
||||
mLanguageOnSpacebarAnimAlpha = alpha;
|
||||
invalidateKey(mSpaceKey);
|
||||
}
|
||||
|
||||
@ExternallyReferenced
|
||||
public int getAltCodeKeyWhileTypingAnimAlpha() {
|
||||
return mAltCodeKeyWhileTypingAnimAlpha;
|
||||
}
|
||||
|
||||
@ExternallyReferenced
|
||||
public void setAltCodeKeyWhileTypingAnimAlpha(final int alpha) {
|
||||
mAltCodeKeyWhileTypingAnimAlpha = alpha;
|
||||
updateAltCodeKeyWhileTyping();
|
||||
|
|
|
@ -20,6 +20,7 @@ import android.graphics.Paint;
|
|||
import android.graphics.drawable.Drawable;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
|
||||
import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
|
||||
import com.android.inputmethod.keyboard.internal.KeyboardParams;
|
||||
|
@ -39,7 +40,7 @@ public final class MoreKeysKeyboard extends Keyboard {
|
|||
return mDefaultKeyCoordX;
|
||||
}
|
||||
|
||||
/* package for test */
|
||||
@UsedForTesting
|
||||
static class MoreKeysKeyboardParams extends KeyboardParams {
|
||||
public boolean mIsFixedOrder;
|
||||
/* package */int mTopRowAdjustment;
|
||||
|
|
|
@ -27,6 +27,7 @@ import android.util.TypedValue;
|
|||
import android.util.Xml;
|
||||
import android.view.InflateException;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.keyboard.Key;
|
||||
import com.android.inputmethod.keyboard.Keyboard;
|
||||
import com.android.inputmethod.keyboard.KeyboardId;
|
||||
|
@ -177,7 +178,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
|||
return this;
|
||||
}
|
||||
|
||||
// For test only
|
||||
@UsedForTesting
|
||||
public void disableTouchPositionCorrectionDataForTest() {
|
||||
mParams.mTouchPositionCorrection.setEnabled(false);
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ package com.android.inputmethod.keyboard.internal;
|
|||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.latin.CollectionUtils;
|
||||
import com.android.inputmethod.latin.R;
|
||||
|
||||
|
@ -64,7 +65,7 @@ public final class KeyboardTextsSet {
|
|||
loadStringResourcesInternal(context, RESOURCE_NAMES, R.string.english_ime_name);
|
||||
}
|
||||
|
||||
/* package for test */
|
||||
@UsedForTesting
|
||||
void loadStringResourcesInternal(Context context, final String[] resourceNames,
|
||||
int referenceId) {
|
||||
final Resources res = context.getResources();
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package com.android.inputmethod.keyboard.internal;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.latin.LatinImeLogger;
|
||||
|
||||
public final class TouchPositionCorrection {
|
||||
|
@ -66,7 +67,7 @@ public final class TouchPositionCorrection {
|
|||
}
|
||||
}
|
||||
|
||||
// For test only
|
||||
@UsedForTesting
|
||||
public void setEnabled(final boolean enabled) {
|
||||
mEnabled = enabled;
|
||||
}
|
||||
|
|
|
@ -81,7 +81,6 @@ public final class BinaryDictionary extends Dictionary {
|
|||
/**
|
||||
* Constructor for the binary dictionary. This is supposed to be called from the
|
||||
* dictionary factory.
|
||||
* All implementations should pass null into flagArray, except for testing purposes.
|
||||
* @param context the context to access the environment from.
|
||||
* @param filename the name of the file to read through native code.
|
||||
* @param offset the offset of the dictionary data within the file.
|
||||
|
@ -174,7 +173,7 @@ public final class BinaryDictionary extends Dictionary {
|
|||
return suggestions;
|
||||
}
|
||||
|
||||
/* package for test */ boolean isValidDictionary() {
|
||||
public boolean isValidDictionary() {
|
||||
return mNativeDict != 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -267,8 +267,7 @@ public class ExpandableDictionary extends Dictionary {
|
|||
|
||||
// This reloads the dictionary if required, and returns whether it's currently updating its
|
||||
// contents or not.
|
||||
// @VisibleForTesting
|
||||
boolean reloadDictionaryIfRequired() {
|
||||
private boolean reloadDictionaryIfRequired() {
|
||||
synchronized (mUpdatingLock) {
|
||||
// If we need to update, start off a background task
|
||||
if (mRequiresReload) startDictionaryLoadingTaskLocked();
|
||||
|
@ -613,25 +612,6 @@ public class ExpandableDictionary extends Dictionary {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Used for testing purposes and in the spell checker
|
||||
* This function will wait for loading from database to be done
|
||||
*/
|
||||
void waitForDictionaryLoading() {
|
||||
while (mUpdatingDictionary) {
|
||||
try {
|
||||
Thread.sleep(100);
|
||||
} catch (InterruptedException e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected final void blockingReloadDictionaryIfRequired() {
|
||||
reloadDictionaryIfRequired();
|
||||
waitForDictionaryLoading();
|
||||
}
|
||||
|
||||
// Local to reverseLookUp, but do not allocate each time.
|
||||
private final char[] mLookedUpString = new char[BinaryDictionary.MAX_WORD_LENGTH];
|
||||
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
|
||||
package com.android.inputmethod.latin;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
|
||||
// TODO: This class is not thread-safe.
|
||||
public final class InputPointers {
|
||||
private final int mDefaultCapacity;
|
||||
|
@ -39,7 +41,8 @@ public final class InputPointers {
|
|||
mTimes.add(index, time);
|
||||
}
|
||||
|
||||
public void addPointer(int x, int y, int pointerId, int time) {
|
||||
@UsedForTesting
|
||||
void addPointer(int x, int y, int pointerId, int time) {
|
||||
mXCoordinates.add(x);
|
||||
mYCoordinates.add(y);
|
||||
mPointerIds.add(pointerId);
|
||||
|
@ -66,7 +69,8 @@ public final class InputPointers {
|
|||
* @param startPos the starting index of the pointers in {@code src}.
|
||||
* @param length the number of pointers to be appended.
|
||||
*/
|
||||
public void append(InputPointers src, int startPos, int length) {
|
||||
@UsedForTesting
|
||||
void append(InputPointers src, int startPos, int length) {
|
||||
if (length == 0) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -60,6 +60,7 @@ import android.view.inputmethod.InputMethodSubtype;
|
|||
|
||||
import com.android.inputmethod.accessibility.AccessibilityUtils;
|
||||
import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.compat.CompatUtils;
|
||||
import com.android.inputmethod.compat.InputMethodManagerCompatWrapper;
|
||||
import com.android.inputmethod.compat.InputMethodServiceCompatUtils;
|
||||
|
@ -132,14 +133,14 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
private View mKeyPreviewBackingView;
|
||||
private View mSuggestionsContainer;
|
||||
private SuggestionStripView mSuggestionStripView;
|
||||
/* package for tests */ Suggest mSuggest;
|
||||
@UsedForTesting Suggest mSuggest;
|
||||
private CompletionInfo[] mApplicationSpecifiedCompletions;
|
||||
private ApplicationInfo mTargetApplicationInfo;
|
||||
|
||||
private InputMethodManagerCompatWrapper mImm;
|
||||
private Resources mResources;
|
||||
private SharedPreferences mPrefs;
|
||||
/* package for tests */ final KeyboardSwitcher mKeyboardSwitcher;
|
||||
@UsedForTesting final KeyboardSwitcher mKeyboardSwitcher;
|
||||
private final SubtypeSwitcher mSubtypeSwitcher;
|
||||
private boolean mShouldSwitchToLastSubtype = true;
|
||||
|
||||
|
@ -422,7 +423,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
}
|
||||
|
||||
// Has to be package-visible for unit tests
|
||||
/* package for test */
|
||||
@UsedForTesting
|
||||
void loadSettings() {
|
||||
// Note that the calling sequence of onCreate() and onCurrentInputMethodSubtypeChanged()
|
||||
// is not guaranteed. It may even be called at the same time on a different thread.
|
||||
|
@ -1848,7 +1849,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
|
||||
// TODO: make this private
|
||||
// Outside LatinIME, only used by the test suite.
|
||||
/* package for tests */
|
||||
@UsedForTesting
|
||||
boolean isShowingPunctuationList() {
|
||||
if (mSuggestionStripView == null) return false;
|
||||
return mCurrentSettings.mSuggestPuncList == mSuggestionStripView.getSuggestions();
|
||||
|
@ -2232,7 +2233,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
|
||||
// TODO: Make this private
|
||||
// Outside LatinIME, only used by the {@link InputTestsBase} test suite.
|
||||
/* package for test */
|
||||
@UsedForTesting
|
||||
void loadKeyboard() {
|
||||
// When the device locale is changed in SetupWizard etc., this method may get called via
|
||||
// onConfigurationChanged before SoftInputWindow is shown.
|
||||
|
|
|
@ -19,6 +19,7 @@ package com.android.inputmethod.latin;
|
|||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.keyboard.Keyboard;
|
||||
import com.android.inputmethod.keyboard.ProximityInfo;
|
||||
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
|
||||
|
@ -71,7 +72,8 @@ public final class Suggest {
|
|||
mLocale = locale;
|
||||
}
|
||||
|
||||
/* package for test */ Suggest(final Context context, final File dictionary,
|
||||
@UsedForTesting
|
||||
Suggest(final Context context, final File dictionary,
|
||||
final long startOffset, final long length, final Locale locale) {
|
||||
final Dictionary mainDict = DictionaryFactory.createDictionaryForTest(context, dictionary,
|
||||
startOffset, length /* useFullEditDistance */, false, locale);
|
||||
|
|
|
@ -18,6 +18,7 @@ package com.android.inputmethod.latin;
|
|||
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.latin.makedict.BinaryDictIOUtils;
|
||||
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput;
|
||||
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput.FusionDictionaryBufferInterface;
|
||||
|
@ -129,7 +130,8 @@ public final class UserHistoryDictIOUtils {
|
|||
/**
|
||||
* Constructs a new FusionDictionary from BigramDictionaryInterface.
|
||||
*/
|
||||
/* packages for test */ static FusionDictionary constructFusionDictionary(
|
||||
@UsedForTesting
|
||||
static FusionDictionary constructFusionDictionary(
|
||||
final BigramDictionaryInterface dict, final UserHistoryDictionaryBigramList bigrams) {
|
||||
final FusionDictionary fusionDict = new FusionDictionary(new Node(),
|
||||
new FusionDictionary.DictionaryOptions(new HashMap<String, String>(), false,
|
||||
|
@ -193,7 +195,8 @@ public final class UserHistoryDictIOUtils {
|
|||
/**
|
||||
* Adds all unigrams and bigrams in maps to OnAddWordListener.
|
||||
*/
|
||||
/* package for test */ static void addWordsFromWordMap(final Map<Integer, String> unigrams,
|
||||
@UsedForTesting
|
||||
static void addWordsFromWordMap(final Map<Integer, String> unigrams,
|
||||
final Map<Integer, Integer> frequencies,
|
||||
final Map<Integer, ArrayList<PendingAttribute>> bigrams, final OnAddWordListener to) {
|
||||
for (Map.Entry<Integer, String> entry : unigrams.entrySet()) {
|
||||
|
|
|
@ -21,6 +21,7 @@ import android.content.SharedPreferences;
|
|||
import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.keyboard.ProximityInfo;
|
||||
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
|
||||
import com.android.inputmethod.latin.UserHistoryDictIOUtils.BigramDictionaryInterface;
|
||||
|
@ -75,7 +76,7 @@ public final class UserHistoryDictionary extends ExpandableDictionary {
|
|||
private final SharedPreferences mPrefs;
|
||||
|
||||
// Should always be false except when we use this class for test
|
||||
/* package for test */ boolean isTest = false;
|
||||
@UsedForTesting boolean isTest = false;
|
||||
|
||||
private static final ConcurrentHashMap<String, SoftReference<UserHistoryDictionary>>
|
||||
sLangDictCache = CollectionUtils.newConcurrentHashMap();
|
||||
|
@ -390,6 +391,7 @@ public final class UserHistoryDictionary extends ExpandableDictionary {
|
|||
}
|
||||
}
|
||||
|
||||
@UsedForTesting
|
||||
void forceAddWordForTest(final String word1, final String word2, final boolean isValid) {
|
||||
mBigramListLock.lock();
|
||||
try {
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package com.android.inputmethod.latin.makedict;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.latin.Constants;
|
||||
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput.CharEncoding;
|
||||
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput.FusionDictionaryBufferInterface;
|
||||
|
@ -167,6 +168,7 @@ public final class BinaryDictIOUtils {
|
|||
* @throws IOException
|
||||
* @throws UnsupportedFormatException
|
||||
*/
|
||||
@UsedForTesting
|
||||
public static int getTerminalPosition(final FusionDictionaryBufferInterface buffer,
|
||||
final String word) throws IOException, UnsupportedFormatException {
|
||||
if (word == null) return FormatSpec.NOT_VALID_WORD;
|
||||
|
@ -254,6 +256,7 @@ public final class BinaryDictIOUtils {
|
|||
* @throws IOException
|
||||
* @throws UnsupportedFormatException
|
||||
*/
|
||||
@UsedForTesting
|
||||
public static void deleteWord(final FusionDictionaryBufferInterface buffer,
|
||||
final String word) throws IOException, UnsupportedFormatException {
|
||||
buffer.position(0);
|
||||
|
@ -706,6 +709,8 @@ public final class BinaryDictIOUtils {
|
|||
* @throws UnsupportedFormatException
|
||||
*/
|
||||
// TODO: Support batch insertion.
|
||||
// TODO: Remove @UsedForTesting once UserHistoryDictionary is implemented by BinaryDictionary.
|
||||
@UsedForTesting
|
||||
public static void insertWord(final FusionDictionaryBufferInterface buffer,
|
||||
final OutputStream destination, final String word, final int frequency,
|
||||
final ArrayList<WeightedString> bigramStrings,
|
||||
|
@ -959,6 +964,7 @@ public final class BinaryDictIOUtils {
|
|||
* @throws IOException
|
||||
* @throws UnsupportedFormatException
|
||||
*/
|
||||
@UsedForTesting
|
||||
public static CharGroupInfo findWordFromBuffer(final FusionDictionaryBufferInterface buffer,
|
||||
final String word) throws IOException, UnsupportedFormatException {
|
||||
int position = getTerminalPosition(buffer, word);
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package com.android.inputmethod.latin.makedict;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.latin.makedict.FormatSpec.FileHeader;
|
||||
import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
|
||||
import com.android.inputmethod.latin.makedict.FusionDictionary.CharGroup;
|
||||
|
@ -1651,6 +1652,7 @@ public final class BinaryDictInputOutput {
|
|||
* @param dict an optional dictionary to add words to, or null.
|
||||
* @return the created (or merged) dictionary.
|
||||
*/
|
||||
@UsedForTesting
|
||||
public static FusionDictionary readDictionaryBinary(
|
||||
final FusionDictionaryBufferInterface buffer, final FusionDictionary dict)
|
||||
throws IOException, UnsupportedFormatException {
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package com.android.inputmethod.latin.spellcheck;
|
||||
|
||||
import com.android.inputmethod.annotations.UsedForTesting;
|
||||
import com.android.inputmethod.keyboard.ProximityInfo;
|
||||
import com.android.inputmethod.latin.CollectionUtils;
|
||||
import com.android.inputmethod.latin.Constants;
|
||||
|
@ -23,7 +24,7 @@ import com.android.inputmethod.latin.Constants;
|
|||
import java.util.TreeMap;
|
||||
|
||||
public final class SpellCheckerProximityInfo {
|
||||
/* public for test */
|
||||
@UsedForTesting
|
||||
final public static int NUL = Constants.NOT_A_CODE;
|
||||
|
||||
// This must be the same as MAX_PROXIMITY_CHARS_SIZE else it will not work inside
|
||||
|
|
|
@ -16,14 +16,18 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LATINIME_CORE_SOURCE_DIRECTORY := ../../java/src/com/android/inputmethod/latin
|
||||
LATINIME_BASE_SOURCE_DIRECTORY := ../../java/src/com/android/inputmethod
|
||||
LATINIME_CORE_SOURCE_DIRECTORY := $(LATINIME_BASE_SOURCE_DIRECTORY)/latin
|
||||
LATINIME_ANNOTATIONS_SOURCE_DIRECTORY := $(LATINIME_BASE_SOURCE_DIRECTORY)/annotations
|
||||
MAKEDICT_CORE_SOURCE_DIRECTORY := $(LATINIME_CORE_SOURCE_DIRECTORY)/makedict
|
||||
|
||||
LOCAL_MAIN_SRC_FILES := $(call all-java-files-under,$(MAKEDICT_CORE_SOURCE_DIRECTORY))
|
||||
LOCAL_TOOL_SRC_FILES := $(call all-java-files-under,src)
|
||||
LOCAL_ANNOTATIONS_SRC_FILES := $(call all-java-files-under,$(LATINIME_ANNOTATIONS_SOURCE_DIRECTORY))
|
||||
LOCAL_SRC_FILES := $(LOCAL_TOOL_SRC_FILES) \
|
||||
$(filter-out $(addprefix %/, $(notdir $(LOCAL_TOOL_SRC_FILES))), $(LOCAL_MAIN_SRC_FILES)) \
|
||||
$(call all-java-files-under,tests) \
|
||||
$(LOCAL_ANNOTATIONS_SRC_FILES) \
|
||||
$(LATINIME_CORE_SOURCE_DIRECTORY)/Constants.java
|
||||
|
||||
LOCAL_JAR_MANIFEST := etc/manifest.txt
|
||||
|
|
|
@ -19,24 +19,15 @@ package com.android.inputmethod.latin.makedict;
|
|||
import com.android.inputmethod.latin.makedict.FusionDictionary.DictionaryOptions;
|
||||
import com.android.inputmethod.latin.makedict.FusionDictionary.Node;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Unit tests for BinaryDictInputOutput.
|
||||
*/
|
||||
public class BinaryDictInputOutputTest extends TestCase {
|
||||
|
||||
public void setUp() throws Exception {
|
||||
super.setUp();
|
||||
}
|
||||
|
||||
public void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
// Test the flattened array contains the expected number of nodes, and
|
||||
// that it does not contain any duplicates.
|
||||
public void testFlattenNodes() {
|
||||
|
@ -55,5 +46,4 @@ public class BinaryDictInputOutputTest extends TestCase {
|
|||
assertFalse("Flattened array contained the same node twice", result.contains(n));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -13,4 +13,4 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
java -classpath ${ANDROID_HOST_OUT}/framework/junit.jar:${ANDROID_HOST_OUT}/../common/obj/JAVA_LIBRARIES/dicttool_intermediates/classes junit.textui.TestRunner com.android.inputmethod.latin.makedict.BinaryDictInputOutputTest
|
||||
java -classpath ${ANDROID_HOST_OUT}/framework/junit.jar:${ANDROID_HOST_OUT}/framework/dicttool_aosp.jar junit.textui.TestRunner com.android.inputmethod.latin.makedict.BinaryDictInputOutputTest
|
||||
|
|
|
@ -19,6 +19,7 @@ package com.android.inputmethod.keyboard.internal;
|
|||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
||||
import com.android.inputmethod.annotations.VisibleForTesting;
|
||||
import com.android.inputmethod.latin.CollectionUtils;
|
||||
import com.android.inputmethod.latin.R;
|
||||
|
||||
|
@ -64,7 +65,7 @@ public final class KeyboardTextsSet {
|
|||
loadStringResourcesInternal(context, RESOURCE_NAMES, R.string.english_ime_name);
|
||||
}
|
||||
|
||||
/* package for test */
|
||||
@VisibleForTesting
|
||||
void loadStringResourcesInternal(Context context, final String[] resourceNames,
|
||||
int referenceId) {
|
||||
final Resources res = context.getResources();
|
||||
|
|
Loading…
Reference in New Issue