package fr.iutfbleau.dev45.wamster.tp05ex02_arcenciel;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.CheckBox;

import androidx.appcompat.app.AppCompatActivity;

public class Activite2 extends AppCompatActivity {
    private CheckBox[] listeChoix;
    private int index;
    private boolean[] etatCouleur;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activite_choix);

        this.listeChoix = new CheckBox[ListeCouleur.TAILLE_LISTE];
        this.listeChoix[ListeCouleur.INDICE_ROUGE] = findViewById(R.id.coche_rouge);
        this.listeChoix[ListeCouleur.INDICE_ORANGE] = findViewById(R.id.coche_orange);
        this.listeChoix[ListeCouleur.INDICE_JAUNE] = findViewById(R.id.coche_jaune);
        this.listeChoix[ListeCouleur.INDICE_VERT] = findViewById(R.id.coche_vert);
        this.listeChoix[ListeCouleur.INDICE_BLEU] = findViewById(R.id.coche_bleu);
        this.listeChoix[ListeCouleur.INDICE_INDIGO] = findViewById(R.id.coche_indigo);
        this.listeChoix[ListeCouleur.INDICE_VIOLET] = findViewById(R.id.coche_violet);

        EvenementBoutonValider evenementBoutonValider = new EvenementBoutonValider(this);

        Button boutonValider = findViewById(R.id.bouton_valider);
        Button boutonAnnuler = findViewById(R.id.bouton_annuler);

        boutonValider.setOnClickListener(evenementBoutonValider);
        boutonAnnuler.setOnClickListener(evenementBoutonValider);

        Intent intension = this.getIntent();
        if (intension != null){
            this.etatCouleur = intension.getBooleanArrayExtra("etatCouleur");
            this.index = intension.getIntExtra("index",0);
            this.setEtatCoche(etatCouleur);
        }
    }

    public boolean setEtatCoche(boolean[] etatCoche){
        if (etatCoche.length != this.listeChoix.length){
            return false;
        }
        int i;
        for (i=0; i<etatCoche.length; i++){
            this.listeChoix[i].setChecked(etatCoche[i]);
        }
        return true;
    }

    public void demarrerActiviteMain(boolean validerModification) {
        boolean[] etatCoche = this.getEtatCoche();
        Intent intension = new Intent(this, MainActivity.class);
        if (validerModification){
            intension.putExtra("etatCouleur", etatCoche);
        }
        else{
            intension.putExtra("etatCouleur", this.etatCouleur);
        }
        intension.putExtra("index", this.index);
        this.startActivity(intension);
    }

    public boolean[] getEtatCoche(){
        boolean[] listeEtatCoche = new boolean[this.listeChoix.length];
        int i;
        for (i=0; i<listeEtatCoche.length; i++){
            listeEtatCoche[i] = this.listeChoix[i].isChecked();
        }
        return listeEtatCoche;
    }
}
