Merge "Fix an NPE."
This commit is contained in:
commit
958e452025
2 changed files with 31 additions and 3 deletions
|
@ -69,7 +69,8 @@ public final class InputLogic {
|
||||||
// TODO : Remove this member when we can.
|
// TODO : Remove this member when we can.
|
||||||
private final LatinIME mLatinIME;
|
private final LatinIME mLatinIME;
|
||||||
|
|
||||||
private InputLogicHandler mInputLogicHandler;
|
// Never null.
|
||||||
|
private InputLogicHandler mInputLogicHandler = InputLogicHandler.NULL_HANDLER;
|
||||||
|
|
||||||
// TODO : make all these fields private as soon as possible.
|
// TODO : make all these fields private as soon as possible.
|
||||||
// Current space state of the input method. This can be any of the above constants.
|
// Current space state of the input method. This can be any of the above constants.
|
||||||
|
@ -105,7 +106,7 @@ public final class InputLogic {
|
||||||
mWordComposer = new WordComposer();
|
mWordComposer = new WordComposer();
|
||||||
mEventInterpreter = new EventInterpreter(latinIME);
|
mEventInterpreter = new EventInterpreter(latinIME);
|
||||||
mConnection = new RichInputConnection(latinIME);
|
mConnection = new RichInputConnection(latinIME);
|
||||||
mInputLogicHandler = null;
|
mInputLogicHandler = InputLogicHandler.NULL_HANDLER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -145,7 +146,7 @@ public final class InputLogic {
|
||||||
}
|
}
|
||||||
resetComposingState(true /* alsoResetLastComposedWord */);
|
resetComposingState(true /* alsoResetLastComposedWord */);
|
||||||
mInputLogicHandler.destroy();
|
mInputLogicHandler.destroy();
|
||||||
mInputLogicHandler = null;
|
mInputLogicHandler = InputLogicHandler.NULL_HANDLER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -40,6 +40,33 @@ public class InputLogicHandler implements Handler.Callback {
|
||||||
|
|
||||||
private static final int MSG_GET_SUGGESTED_WORDS = 1;
|
private static final int MSG_GET_SUGGESTED_WORDS = 1;
|
||||||
|
|
||||||
|
// A handler that never does anything. This is used for cases where events come before anything
|
||||||
|
// is initialized, though probably only the monkey can actually do this.
|
||||||
|
public static final InputLogicHandler NULL_HANDLER = new InputLogicHandler() {
|
||||||
|
@Override
|
||||||
|
public void destroy() {}
|
||||||
|
@Override
|
||||||
|
public boolean handleMessage(final Message msg) { return true; }
|
||||||
|
@Override
|
||||||
|
public void onStartBatchInput() {}
|
||||||
|
@Override
|
||||||
|
public void onUpdateBatchInput(final InputPointers batchPointers,
|
||||||
|
final int sequenceNumber) {}
|
||||||
|
@Override
|
||||||
|
public void onCancelBatchInput() {}
|
||||||
|
@Override
|
||||||
|
public void onEndBatchInput(final InputPointers batchPointers, final int sequenceNumber) {}
|
||||||
|
@Override
|
||||||
|
public void getSuggestedWords(final int sessionId, final int sequenceNumber,
|
||||||
|
final OnGetSuggestedWordsCallback callback) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
private InputLogicHandler() {
|
||||||
|
mNonUIThreadHandler = null;
|
||||||
|
mLatinIME = null;
|
||||||
|
mInputLogic = null;
|
||||||
|
}
|
||||||
|
|
||||||
public InputLogicHandler(final LatinIME latinIME, final InputLogic inputLogic) {
|
public InputLogicHandler(final LatinIME latinIME, final InputLogic inputLogic) {
|
||||||
final HandlerThread handlerThread = new HandlerThread(
|
final HandlerThread handlerThread = new HandlerThread(
|
||||||
InputLogicHandler.class.getSimpleName());
|
InputLogicHandler.class.getSimpleName());
|
||||||
|
|
Loading…
Reference in a new issue