InputFilter no EditText causa repetição de texto

Estou tentando implementar umEditText que limita a entrada para caracteres de capital somente [A-Z0-9] com dígitos também.

Eu comecei com o método InputFilter de algum post.Mas aqui eu estou recebendo um problema no Samsung Galaxy Tab 2, mas não no emulador ou Nexus 4.

Problema é assim:

Quando eu digito "A" o texto mostra como "A" é bomAgora, quando eu digito "B", o texto deve ser "AB", mas isso me dá "AAB", isso parece muito estranho.

Em suma, repete chars

Aqui está o código que estou trabalhando com este código:

public class DemoFilter implements InputFilter {

    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
            int dend) {

        if (source.equals("")) { // for backspace
            return source;
        }
        if (source.toString().matches("[a-zA-Z0-9 ]*")) // put your constraints
                                                        // here
        {
            return source.toString().toUpperCase();
        }
        return "";
    }
}

Código do arquivo XML:

<EditText
    android:id="@+id/et_licence_plate_1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="3"
    android:hint="0"
    android:imeOptions="actionNext"
    android:inputType="textNoSuggestions"
    android:maxLength="3"
    android:singleLine="true"
    android:textSize="18px" >
</EditText>

Estou totalmente preso a este, então qualquer ajuda aqui seria muito apreciada.

questionAnswers(8)

yourAnswerToTheQuestion