package fr.iutfbleau.dev45.ex04liste.ex04liste;

import android.util.Log;
import android.view.View;
import android.widget.AdapterView;

import java.text.Normalizer;
import java.util.regex.Pattern;

public class EcouteurForme implements AdapterView.OnItemSelectedListener {

    private Dessin dessin;

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

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        String texteForme = parent.getItemAtPosition(position).toString();
        Log.v("test", texteForme);
        Forme forme = EcouteurForme.convertirTexteEnForme(texteForme);
        this.dessin.setForme(forme);
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }

    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("");
    }
}
