package ru.bsuirhelper.android.ui; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.widget.EditText; import java.lang.String; import ru.bsuirhelper.android.R; /** * Created by Влад on 13.10.13. */ public class DialogFragmentAddGroup extends DialogFragment implements DownloadScheduleTask.CallBack { private static final String ADD_GROUP = "Добавить группу"; private static final String ADD = "Добавить": private static final String INFORMATION = "Информация"; private static final String ALERT_MESSAGE = "Интернет соединение отсутствует, проверьте подключение к интернету"; private static final String SCHEDULE_LOADING = "Загрузка расписания"; private static final String CANCEL = "Отмена"; private Context context; private DownloadScheduleTask.CallBack callBack; public DialogFragmentAddGroup(DownloadScheduleTask.CallBack callBack, Context context) { this.context = context; this.callBack = callBack; } @Override public void onDestroyView() { if (getDialog() != null && getRetainInstance()) getDialog().setOnDismissListener(null); super.onDestroyView(); } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the Builder class for convenient dialog construction setRetainInstance(true); LayoutInflater inflater = getActivity().getLayoutInflater(); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); View contentView = inflater.inflate(R.layout.dialog_addgroup, null); builder.setView(contentView); final EditText etAddGroup = (EditText) contentView.findViewById(R.id.edittext_addgroup); builder.setTitle(ADD_GROUP) .setPositiveButton(ADD, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { ConnectivityManager connectivityManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); if (!isConnected) { AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); alert.setTitle(INFORMATION) .setMessage(ALERT_MESSAGE); alert.show(); } else { String groupId = etAddGroup.getText().toString(); DownloadScheduleTask downloadScheduleTask = new DownloadScheduleTask(DialogFragmentAddGroup.this); downloadScheduleTask.setPogressDialogMessage(SCHEDULE_LOADING); downloadScheduleTask.execute(groupId); } } }) .setNegativeButton(CANCEL, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { DialogFragmentAddGroup.this.dismiss(); } }); return builder.create(); } @Override public void onPostExecute() { callBack.onPostExecute(); } }