package com.example.carolina.times;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.VideoView;


public class Instrucciones extends ActionBarActivity {

    private TextView tv, tv1, tv2;
    private VideoView vv;

    String ins1 = "\nPara que el móvil pueda captar los movimientos que estás realizando es necesario que éste capte la posición en la que está y que desplazamientos va a notar. Para ello, antes de empezar a hacer los movimientos del compás, es necesario realizar un paso al que llamaremos calibración y que se realizará una vez pulsado el botón que se llama 'Calibrar'.\n\n";
    String ins2 = "Para empezar a utilizar la aplicación, debes hacer lo siguiente:\n\n";
    String ins3 = "1.  Sostener el móvil con una mano.\n" +
            "2.  Situar el móvil a una distancia paralela del cuerpo.\n" +
            "3.  Pulsar sobre el botón calibrar y realizar los movimientos descritos en los siguientes pasos y que se muestran en el vídeo, mientras se muestra por pantalla el mensaje de “Calibrando”.\n" +
            "4.  Dirigir el móvil lentamente hacia abajo y después hacia arriba, intentando que no se mueva en otras direcciones.\n" +
            "5.  Dirigir el móvil lentamente hacia la izquierda y finalmente hacia la derecha.\n" +
            "\n\n";
    String ins44 = "Una vez realizada la calibración puedes empezar la práctica de movimientos, para ello debes:\n" +
            "\n" +
            "6.  Pulsar sobre el botón Empezar.\n" +
            "7.  Seleccionar de la lista el compás que quieres practicar.\n" +
            "8.  Pulsar sobre el botón “Comenzar test”.\n" +
            "9.  Realizar los movimientos de solfeo del compás elegido.\n\n";

    String ins4 ="¿Cómo sabras si has realizado los movimientos correctamente?\n";
    String ins5 = "\nSi has realizado los movimientos bien, tras 10 compases la aplicación te dirá que lo has hecho bien y podrás volver a practicar, empezando desde el principio.  También oíras un sonido “ding” cada vez que realices uno de los movimentos correctamente.\n";
    String ins6 = "\nSi no los has realizado bien, sonará un sonido de fallo y aparecerá una pantalla que te lo indicará en la que aparecerá la opción de volver a practicar, pulsando en el botón Sí, teniendo que repetir los pasos anteriores, así como la opción de dejar de practicar, y salir de la aplicación, pulsando sobre el botón No.";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_instrucciones);

        android.support.v7.app.ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayShowHomeEnabled(true);
        actionBar.setIcon(R.mipmap.ic_launcher);

        tv = (TextView) findViewById(R.id.textView2);
        tv1 = (TextView) findViewById(R.id.textView4);
        tv2 = (TextView) findViewById(R.id.textView3);

        tv.setText("Instrucciones");
        tv1.setText(ins1 + ins2 + ins3 + ins4);
        tv2.setText(ins44 + ins5 + ins6);

        vv = (VideoView)this.findViewById(R.id.videoView);
        String uri = "android.resource://" + getPackageName() + "/" + R.raw.calibration;
        vv.setVideoURI(Uri.parse(uri));

        vv.start();

        vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.setLooping(true);
            }
        });

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_instrucciones, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.autor) {
            String msn = "Nombre:\nCarolina Souto Venturini\nE-Mail:\ncarsouto@yahoo.com";
            MensajeEmergente("Autor.",msn, "OK");
            return true;
        }

        if (id == R.id.atras) {

            finish();
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    public void MensajeEmergente(String titulo, String mensaje, String boton)
    {
        AlertDialog alertDialog = new AlertDialog.Builder(Instrucciones.this).create();
        alertDialog.setTitle(titulo);
        alertDialog.setMessage(mensaje);
        alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, boton,
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
        alertDialog.show();
    }
}
