package com.netfluke.sergey.dialog;

/**
 *    This example, based on https://developer.android.com/guide/topics/ui/dialogs.html,
 *      shows how to implement a dialog in two different ways: a more verbose
 *      and specialized DialogFragment built up as an AlertDialog, and via
 *      an ordinary Activity styled as a dialog in the Manifest.
 */

import android.app.DialogFragment;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity
        implements AuthDialog.AuthDialogListener {

    private int REQ_CODE = 1001;

    private AuthDialog authd;

    public void onDialogPositiveClick(DialogFragment dialog){
        Log.d("MAIN", "positive clicked");
        Toast.makeText(this, "Got " + authd.getName() + " " + authd.getPass(),
                Toast.LENGTH_LONG).show();
    }

    public void onDialogNegativeClick(DialogFragment dialog){
        Log.d("MAIN", "negative clicked");
    }

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

    public void showAuthDialog(View view) {
        // Create an instance of the dialog fragment and show it
        authd = new AuthDialog();
        authd.show(getFragmentManager(), "AuthDialogFragment");
    }

    public void showAuthActivity(View view) {
        Intent i = new Intent(this, AuthActivity.class);
        startActivityForResult(i, REQ_CODE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == REQ_CODE) {
            // Make sure the request was successful
            if (resultCode == RESULT_OK) {
                String name = data.getStringExtra("USERNAME");
                String pass = data.getStringExtra("PASSWORD");

                Toast.makeText(this, "Got " + name + "/" + pass,
                        Toast.LENGTH_LONG).show();

            }
        }
    }

    // Lifecycle instrumentation
    @Override protected void onStart(){
        Log.d("CYCLE", "onStart");
        super.onStart();
    }

    @Override protected void onResume(){
        Log.d("CYCLE", "onResume");
        super.onResume();
    }

    @Override protected void onPause(){
        Log.d("CYCLE", "onPause");
        super.onPause();
    }

    @Override protected void onStop(){
        Log.d("CYCLE", "onStop");
        super.onStop();
    }

    @Override protected void onDestroy(){
        Log.d("CYCLE", "onDestroy");
        super.onDestroy();
    }
}
