cddf4f9d78
Bug: 8636060 Change-Id: I8c5c028d81183adb0167b2034ee01de8048edafb
54 lines
2.8 KiB
Java
54 lines
2.8 KiB
Java
/*
|
|
* Copyright (C) 2013 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.latin.inputlogic;
|
|
|
|
/**
|
|
* Class for managing space states.
|
|
*
|
|
* At any given time, the input logic is in one of five possible space states. Depending on the
|
|
* current space state, some behavior will change; the prime example of this is the PHANTOM state,
|
|
* in which any subsequent letter input will input a space before the letter. Read on the
|
|
* description inside this class for each of the space states.
|
|
*/
|
|
public class SpaceState {
|
|
// None: the state where all the keyboard behavior is the most "standard" and no automatic
|
|
// input is added or removed. In this state, all self-inserting keys only insert themselves,
|
|
// and backspace removes one character.
|
|
public static final int NONE = 0;
|
|
// Double space: the state where the user pressed space twice quickly, which LatinIME
|
|
// resolved as period-space. In this state, pressing backspace will undo the
|
|
// double-space-to-period insertion: it will replace ". " with " ".
|
|
public static final int DOUBLE = 1;
|
|
// Swap punctuation: the state where a weak space and a punctuation from the suggestion strip
|
|
// have just been swapped. In this state, pressing backspace will undo the swap: the
|
|
// characters will be swapped back back, and the space state will go to WEAK.
|
|
public static final int SWAP_PUNCTUATION = 2;
|
|
// Weak space: a space that should be swapped only by suggestion strip punctuation. Weak
|
|
// spaces happen when the user presses space, accepting the current suggestion (whether
|
|
// it's an auto-correction or not). In this state, pressing a punctuation from the suggestion
|
|
// strip inserts it before the space (while it inserts it after the space in the NONE state).
|
|
public static final int WEAK = 3;
|
|
// Phantom space: a not-yet-inserted space that should get inserted on the next input,
|
|
// character provided it's not a separator. If it's a separator, the phantom space is dropped.
|
|
// Phantom spaces happen when a user chooses a word from the suggestion strip. In this state,
|
|
// non-separators insert a space before they get inserted.
|
|
public static final int PHANTOM = 4;
|
|
|
|
private SpaceState() {
|
|
// This class is not publicly instantiable.
|
|
}
|
|
}
|