package fr.iutfbleau.dev45.wamster.ex2choix;

import android.widget.RadioGroup;
import android.widget.RadioButton;
import java.text.Normalizer;
import java.util.regex.Pattern;

public class EcouteurForme implements RadioGroup.OnCheckedChangeListener{

    private Dessin dessin;

    public EcouteurForme(Dessin dessin) {
        this.dessin = dessin;
    }

    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        RadioButton selectedRadioButton = group.findViewById(checkedId);
        String texteForme = (String) selectedRadioButton.getText();
        Forme forme = EcouteurForme.convertirTexteEnForme(texteForme);
        this.dessin.setForme(forme);
    }

    private static Forme convertirTexteEnForme(String texte){
        String formeEnMajuscule = EcouteurForme.removeAccents(texte).toUpperCase();
        for (Forme forme : Forme.values()) {
            if (forme.name().equals(formeEnMajuscule)) {
                return forme;
            }
        }
        return Forme.DEFAULT;
    }

    private static String removeAccents(String input) {
        String normalized = Normalizer.normalize(input, Normalizer.Form.NFD);
        Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
        return pattern.matcher(normalized).replaceAll("");
    }
}
