java – Porque me duplica el resultado la condicion del constructor

Tengo una duda, porque me duplica la letra en el resultado del constructor

Mi clase Telefono

public class Telefono {

// Atributos
private String nombre;
private String tipo;
private String estado;

// Constructor
public Telefono(String nombre, String tipo) {

    this.nombre = nombre;
    this.tipo = tipo;
    

    if (this.nombre != null && this.tipo != null && this.tipo.equals("movil") == this.tipo.equals("convencional")) {
        String activo = this.estado = "C";
        System.out.println(activo);
    } else {
        String desactivado = this.estado = "E";
        System.out.println(desactivado);
    }

}

public Telefono() {

}

// Getters & Setters

public String getNombre() {
    return nombre;
}

public String getTipo() {
    return tipo;
}

public String getEstado() {
    return estado;
}

}

Mi clase Main

public class TestTelefono {
public static void main(String() args) {
    Telefono telefono1=new Telefono("0992920306", "convencional");
    System.out.println("telefono 1: "+telefono1.getEstado());
    
    Telefono telefono2=new Telefono("0992920306", "MOVIL");
    System.out.println("  telefono 2: "+telefono2.getEstado());
    
    Telefono telefono3=new Telefono("0992920306", "Movil");
    System.out.println("    telefono 3: "+telefono3.getEstado());

    Telefono telefono4=new Telefono("2375467", "CONVENCIONAL");
    System.out.println("     telefono 4: "+telefono4.getEstado());
    
    Telefono telefono5=new Telefono("0992920306",null);
    System.out.println("telefono 5: "+telefono5.getEstado());
    
    Telefono telefono6=new Telefono(null,"Convencional");
    System.out.println("  telefono 6: "+telefono6.getEstado());
    
    Telefono telefono7=new Telefono(null,"Convencional");
    System.out.println("    telefono7: "+telefono7.getEstado());
    
    Telefono telefono8=new Telefono("2387991","convencional");
    System.out.println("      telefono8: "+telefono8.getEstado());

    Telefono telefono9=new Telefono("2387991","Fijo");
    System.out.println("telefono9: "+telefono9.getEstado());
    
    Telefono telefono10=new Telefono("2222222","CoNvEnCiOnAL");
    System.out.println("   telefono10: "+telefono10.getEstado());
    
}
}

El resultado que me brinda es:

introducir la descripción de la imagen aquí

El resultado esperado es:

introducir la descripción de la imagen aquí

LO SOLICITADO ES:

Agregar un constructor que reciba el número y el tipo y ejecute la siguiente lógica:
Asigna los valores de número y tipo a los atributos respectivos.
Dependiendo de las validaciones que realice, colocará el valor de estado:
C : Si es correcto
E : Si tiene error
Para determinar si es correcto o no el teléfono, se debe cumplir las siguientes condiciones:

  1. Tanto el teléfono como el tipo deben ser diferentes de null, si
    alguno es null, se considera con error

  2. Los tipos pueden ser Movil o Convencional, si es un tipo diferente,
    se considera con error.

  3. Si el tipo es Movil, el teléfono debe tener 10 caracteres, si es
    convencional, debe tener 7 caracteres. Validar únicamente la
    longitud, no el contenido de la cadena. La longitud de un String se
    obtiene con el método length()