InputFilter en EditText causa la repetición de texto

Estoy tratando de implementar unEditText eso limita la entrada a los caracteres Capital solo [A-Z0-9] con dígitos también.

Comencé con el método InputFilter desde alguna publicación. Pero aquí tengo un problema en el Samsung Galaxy Tab 2 pero no en el emulador o Nexus 4.

El problema es así:

Cuando escribo "A" el texto se muestra como "A" está bienAhora cuando escribo "B", el texto debería ser "AB", pero me da "AAB", esto se ve muy extraño.

En resumen repite los caracteres.

Aquí está el código que estoy trabajando con 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 de archivo 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>

Estoy totalmente atascado en esto, por lo que cualquier ayuda aquí sería muy apreciada.

Respuestas a la pregunta(8)

Su respuesta a la pregunta