private boolean markSpans(int count, int after) {
        int cursor = getSelectionStart();
        MentionsEditable text = getMentionsText();
        MentionSpan prevSpan = text.getMentionSpanEndingAt(cursor);

        if (count == (after + 1) && prevSpan != null) {

            // Cursor was directly behind a span and was moved back one, so delete it if selected,
            // or select it if not already selected
            if (prevSpan.isSelected()) {
                Mentionable mention = prevSpan.getMention();
                Mentionable.MentionDeleteStyle deleteStyle = mention.getDeleteStyle();
                Mentionable.MentionDisplayMode displayMode = prevSpan.getDisplayMode();
                // Determine new DisplayMode given previous DisplayMode and MentionDeleteStyle
                if (deleteStyle == Mentionable.MentionDeleteStyle.PARTIAL_NAME_DELETE
                        && displayMode == Mentionable.MentionDisplayMode.FULL) {
                    prevSpan.setDisplayMode(Mentionable.MentionDisplayMode.PARTIAL);
                } else {
                    prevSpan.setDisplayMode(Mentionable.MentionDisplayMode.NONE);
                }
            } else {
                // Span was not selected, so select it
                prevSpan.setSelected(true);
            }

            return true;
        }

        return false;
    }
private boolean markSpans(int count, int after) {
        int cursor = getSelectionStart();
        MentionsEditable text = getMentionsText();
        MentionSpan prevSpan = text.getMentionSpanEndingAt(cursor);

        if (count == (after + 1) && prevSpan != null) {

            
            
            if (prevSpan.isSelected()) {
                Mentionable mention = prevSpan.getMention();
                Mentionable.MentionDeleteStyle deleteStyle = mention.getDeleteStyle();
                Mentionable.MentionDisplayMode displayMode = prevSpan.getDisplayMode();
                
                if (deleteStyle == Mentionable.MentionDeleteStyle.PARTIAL_NAME_DELETE
                        && displayMode == Mentionable.MentionDisplayMode.FULL) {
                    prevSpan.setDisplayMode(Mentionable.MentionDisplayMode.PARTIAL);
                } else {
                    prevSpan.setDisplayMode(Mentionable.MentionDisplayMode.NONE);
                }
            } else {
                
                prevSpan.setSelected(true);
            }

            return true;
        }

        return false;
    }
private boolean markSpans ( int count , int after ) { int cursor = getSelectionStart ( ) ; MentionsEditable text = getMentionsText ( ) ; MentionSpan prevSpan = text . getMentionSpanEndingAt ( cursor ) ; if ( count == ( after + 1 ) && prevSpan != null ) { // Cursor was directly behind a span and was moved back one, so delete it if selected, // or select it if not already selected if ( prevSpan . isSelected ( ) ) { Mentionable mention = prevSpan . getMention ( ) ; Mentionable . MentionDeleteStyle deleteStyle = mention . getDeleteStyle ( ) ; Mentionable . MentionDisplayMode displayMode = prevSpan . getDisplayMode ( ) ; // Determine new DisplayMode given previous DisplayMode and MentionDeleteStyle if ( deleteStyle == Mentionable . MentionDeleteStyle . PARTIAL_NAME_DELETE && displayMode == Mentionable . MentionDisplayMode . FULL ) { prevSpan . setDisplayMode ( Mentionable . MentionDisplayMode . PARTIAL ) ; } else { prevSpan . setDisplayMode ( Mentionable . MentionDisplayMode . NONE ) ; } } else { // Span was not selected, so select it prevSpan . setSelected ( true ) ; } return true ; } return false ; }
Marks a span for deletion later if necessary by checking if the last character in a MentionSpan
is deleted by this change. If so, mark the span to be deleted later when
{@link #ensureMentionSpanIntegrity(Editable)} is called in {@link #handleTextChanged()}.

@param count length of affected text before change starting at start in text
@param after length of affected text after change

@return  true if there is a span before the cursor that is going to change state
Marks a span for deletion later if necessary by checking if the last character in a MentionSpan is deleted by this change . If so mark the span to be deleted later when { @link #ensureMentionSpanIntegrity ( Editable ) } is called in { @link #handleTextChanged () } .