/* Swisscom Safe Connect Copyright (C) 2015 Swisscom This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.swisscom.safeconnect.fragment; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; import com.swisscom.safeconnect.R; import com.swisscom.safeconnect.adapter.PhoneCodeAdapter; /** * Created by vadim on 25.03.15. */ public class PhoneCodesDialogFragment extends DialogFragment { private PhoneCodesInterface listener; public interface PhoneCodesInterface { public void onPhoneCodeSelected(int code); } public void setPhoneCodeListener(PhoneCodesInterface listener) { this.listener = listener; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.AppCompat_Pipe_Dialog_Alert); builder.setTitle(R.string.lab_phone_code_title); final PhoneCodeAdapter adapter = new PhoneCodeAdapter(getActivity(), 0); builder.setAdapter(adapter, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (listener != null) { int clickedCode = adapter.getCodeByIndex(which); listener.onPhoneCodeSelected(clickedCode); } } }); builder.setNegativeButton(R.string.lab_btn_cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dismiss(); } }); return builder.create(); } }