Merge "[AC3] Start calling the methods for auto-commit."
commit
2c7a3e0405
|
@ -133,6 +133,16 @@ public abstract class Dictionary {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether we think this suggestion should trigger an auto-commit.
|
||||||
|
*/
|
||||||
|
public boolean shouldAutoCommit(final SuggestedWordInfo candidate) {
|
||||||
|
// If we don't have support for auto-commit, or if we don't know, we return false to
|
||||||
|
// avoid auto-committing stuff. Implementations of the Dictionary class that know to
|
||||||
|
// determine whether we should auto-commit will override this.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Not a true dictionary. A placeholder used to indicate suggestions that don't come from any
|
* Not a true dictionary. A placeholder used to indicate suggestions that don't come from any
|
||||||
* real dictionary.
|
* real dictionary.
|
||||||
|
|
|
@ -1797,6 +1797,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUpdateBatchInput(final InputPointers batchPointers) {
|
public void onUpdateBatchInput(final InputPointers batchPointers) {
|
||||||
|
final SuggestedWordInfo candidate = mSuggestedWords.getAutoCommitCandidate();
|
||||||
|
if (null != candidate) {
|
||||||
|
if (candidate.mSourceDict.shouldAutoCommit(candidate)) {
|
||||||
|
// TODO: implement auto-commit
|
||||||
|
}
|
||||||
|
}
|
||||||
BatchInputUpdater.getInstance().onUpdateBatchInput(batchPointers);
|
BatchInputUpdater.getInstance().onUpdateBatchInput(batchPointers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -143,6 +143,12 @@ public final class SuggestedWords {
|
||||||
return suggestionsList;
|
return suggestionsList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SuggestedWordInfo getAutoCommitCandidate() {
|
||||||
|
if (mSuggestedWordInfoList.size() <= 0) return null;
|
||||||
|
final SuggestedWordInfo candidate = mSuggestedWordInfoList.get(0);
|
||||||
|
return candidate.isEligibleForAutoCommit() ? candidate : null;
|
||||||
|
}
|
||||||
|
|
||||||
public static final class SuggestedWordInfo {
|
public static final class SuggestedWordInfo {
|
||||||
public static final int NOT_AN_INDEX = -1;
|
public static final int NOT_AN_INDEX = -1;
|
||||||
public static final int MAX_SCORE = Integer.MAX_VALUE;
|
public static final int MAX_SCORE = Integer.MAX_VALUE;
|
||||||
|
@ -186,6 +192,10 @@ public final class SuggestedWords {
|
||||||
mIndexOfTouchPointOfSecondWord = indexOfTouchPointOfSecondWord;
|
mIndexOfTouchPointOfSecondWord = indexOfTouchPointOfSecondWord;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEligibleForAutoCommit() {
|
||||||
|
return (KIND_CORRECTION == mKind && NOT_AN_INDEX != mIndexOfTouchPointOfSecondWord);
|
||||||
|
}
|
||||||
|
|
||||||
public void setDebugString(final String str) {
|
public void setDebugString(final String str) {
|
||||||
if (null == str) throw new NullPointerException("Debug info is null");
|
if (null == str) throw new NullPointerException("Debug info is null");
|
||||||
mDebugString = str;
|
mDebugString = str;
|
||||||
|
|
Loading…
Reference in New Issue