@Override public void onUpdateSelection(int oldSelStart,int oldSelEnd,int newSelStart,int newSelEnd,int candidatesStart,int candidatesEnd){
  super.onUpdateSelection(oldSelStart,oldSelEnd,newSelStart,newSelEnd,candidatesStart,candidatesEnd);
  if (mComposing.length() > 0 && (newSelStart != candidatesEnd || newSelEnd != candidatesEnd)) {
    mComposing.setLength(0);
    updateCandidates();
    InputConnection ic=getCurrentInputConnection();
    if (ic != null) {
      ic.finishComposingText();
    }
  }
}

@ Override public void onUpdateSelection ( int oldSelStart , int oldSelEnd , int newSelStart , int newSelEnd , int candidatesStart , int candidatesEnd ) { super . onUpdateSelection ( oldSelStart , oldSelEnd , newSelStart , newSelEnd , candidatesStart , candidatesEnd ) ; if ( mComposing . length ( ) > 0 && ( newSelStart != candidatesEnd || newSelEnd != candidatesEnd ) ) { mComposing . setLength ( 0 ) ; updateCandidates ( ) ; InputConnection ic = getCurrentInputConnection ( ) ; if ( ic != null ) { ic . finishComposingText ( ) ; } } }
deal with the editor reporting movement of its cursor .
