EditText addTextChangedListener solo para la entrada del usuario

Tengo un EditText donde escucho los cambios en el texto:

editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {}

        @Override
        public void afterTextChanged(Editable s) {
            // do stuff
        }
    });

Esto funciona bien hasta ahora, si escribo algo en EditText, las cosas en afterTextChanged () se ejecutan. Ahora, en la misma actividad tengo un ToggleButton que puede cambiar la cadena en EditText. ¿Cómo evito que este cambio de texto debido a ToggleButton active "afterTextChanged"?

PD: No estoy seguro de si esto es relevante, pero específicamente tengo un EditText que acepta números decimales o fraccionarios (por ejemplo, "0.75" o "3/4") y el botón de alternar debe alternar entre la visualización fraccional y decimal, pero no debe activar nada en "afterTextChanged" ya que el valor permanece igual (3/4 = 0.75).

Respuestas a la pregunta(1)

Su respuesta a la pregunta