package com.mygeopay.wallet.ui;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.mygeopay.wallet.R;
/**
* @author John L. Jegutanis
*/
abstract public class UnlockWalletDialog extends DialogFragment {
private TextView passwordView;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final LayoutInflater inflater = LayoutInflater.from(getActivity());
final View view = inflater.inflate(R.layout.get_password_dialog, null);
passwordView = (TextView) view.findViewById(R.id.password);
return new DialogBuilder(getActivity())
.setTitle(R.string.unlock_wallet_title)
.setView(view)
.setNegativeButton(R.string.button_cancel, dismissListener)
.setPositiveButton(R.string.button_ok, okListener)
.setCancelable(false)
.create();
}
DialogInterface.OnClickListener okListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String password = passwordView.getText().toString();
dismissAllowingStateLoss();
onPassword(password);
}
};
DialogInterface.OnClickListener dismissListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismissAllowingStateLoss();
onCancel();
}
};
abstract public void onPassword(String password);
abstract public void onCancel();
}