///////////////////////////////////////////////////////////////////////////////
// 
// This file is part of Serleena.
// 
// The MIT License (MIT)
//
// Copyright (C) 2015 Antonio Cavestro, Gabriele Pozzan, Matteo Lisotto, 
//   Nicola Mometto, Filippo Sestini, Tobia Tesan, Sebastiano Valle.    
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to 
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
//
///////////////////////////////////////////////////////////////////////////////


/**
 * Name: QuitFragment.java
 * Package: com.kyloth.serleena.view.fragments
 * Author: Filippo Sestini
 *
 * History:
 * Version   Programmer         Changes
 * 1.0.0     Filippo Sestini    Creazione del file, scrittura del codice e di Javadoc
 */

package com.kyloth.serleena.view.fragments;

import android.os.Bundle;
import android.app.Fragment;
import android.support.v4.view.KeyEventCompat;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

import com.kyloth.serleena.R;

/**
 * Rappresenta una schermata attraverso il quale è possibile arrestare in modo
 * sicuro l'applicazione.
 *
 * @use Viene inserito da SerleenaActivity nel menù principale.
 * @field yesButton : Button Pulsante di conferma
 * @field noButton : Button Pulsante di rifiuto
 * @author Filippo Sestini <sestini.filippo@gmail.com>
 * @version 1.0.0
 */
public class QuitFragment extends Fragment implements View.OnClickListener {

    private Button yesButton;
    private Button noButton;

    public QuitFragment() { }

    /**
     * Ridefinisce Fragment.onCreateView().
     */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_quit, container, false);
        yesButton = (Button) v.findViewById(R.id.yes_button);
        noButton = (Button) v.findViewById(R.id.no_button);
        yesButton.setOnClickListener(this);
        noButton.setOnClickListener(this);

        return v;
    }


    /**
     * Ridefinisce OnClickListener.onClick().
     *
     * @param v Vista che ha scatenato l'evento.
     */
    @Override
    public void onClick(View v) {
        if (v == yesButton)
            getActivity().finish();
        else
            getActivity().onBackPressed();
    }

    /**
     * Ridefinisce Object.toString().
     *
     * @return Nome del Fragment
     */
    @Override
    public String toString() {
        return "Esci";
    }

}

@@ -2521,16 +2521,107 @@
 oButton;
+%0A    private View.OnClickListener yesListener;%0A    private View.OnClickListener noListener;
 %0A%0A    pu
@@ -3375,28 +3375,18 @@
     
-getActivity().finish
+onYesClick
 ();%0A
@@ -3414,35 +3414,17 @@
     
-getActivity().onBackPressed
+onNoClick
 ();%0A
@@ -3599,10 +3599,1242 @@
 %0A    %7D%0A%0A
+    /**%0A     * Viene invocato in seguito al rifiuto dell'utente di uscire%0A     * dall'applicazione. Invoca il Listener impostato con setOnNoClickListener.%0A     */%0A    public void onYesClick() %7B%0A        if (yesListener != null)%0A            yesListener.onClick(yesButton);%0A    %7D%0A%0A    /**%0A     * Viene invocato in seguito alla conferma dell'utente di uscire%0A     * dall'applicazione. Invoca il Listener impostato con%0A     * setOnYesClickListener.%0A     */%0A    public void onNoClick() %7B%0A        if (noListener != null)%0A            noListener.onClick(noButton);%0A    %7D%0A%0A    /**%0A     * Imposta il Listener che verr%C3%A0 chiamato alla conferma dell'utente di%0A     * uscire dall'applicazione.%0A     */%0A    public void setOnYesClickListener(View.OnClickListener listener) %7B%0A        if (listener == null)%0A            throw new IllegalArgumentException(%22Illegal null listener%22);%0A        yesListener = listener;%0A    %7D%0A%0A    /**%0A     * Imposta il Listener che verr%C3%A0 chiamato al rifiuto dell'utente di%0A     * uscire dall'applicazione.%0A     */%0A    public void setOnNoClickListener(View.OnClickListener listener) %7B%0A        if (listener == null)%0A            throw new IllegalArgumentException(%22Illegal null listener%22);%0A        noListener = listener;%0A    %7D%0A%0A
 %7D%0A

Modifica gestione bottoni yes/no in QuitFragment