package de.saxsys.android.projectiler.app.dialog; import android.annotation.SuppressLint; import android.view.LayoutInflater; import android.view.View; import android.widget.AutoCompleteTextView; import android.widget.TimePicker; import org.droidparts.concurrent.task.AsyncTaskResultListener; import java.util.Date; import java.util.List; import de.saxsys.android.projectiler.app.R; import de.saxsys.android.projectiler.app.asynctasks.StopAsyncTask; import de.saxsys.android.projectiler.app.backend.DateUtil; import de.saxsys.android.projectiler.app.ui.adapter.CommentCompleteAdapter; import de.saxsys.android.projectiler.app.utils.BusinessProcess; /** * Created by stefan.heinze on 29.05.2014. */ @SuppressLint("ValidFragment") public class CommentDialog extends BaseDefaultDialogFragment { private static final String TAG = CommentDialog.class.getSimpleName(); private TimePicker tpStart; private TimePicker tpStop; private AsyncTaskResultListener<String> stopTaskResultListener; private OnBackPressListener backPressListener; private String projectName; private BusinessProcess businessProcess; private boolean okClicked = false; private AutoCompleteTextView etComment; @SuppressLint("ValidFragment") public CommentDialog(final AsyncTaskResultListener<String> stopTaskResultListener, OnBackPressListener backPressListener, final String projectName){ this.stopTaskResultListener = stopTaskResultListener; this.projectName = projectName; this.backPressListener = backPressListener; } @Override protected View getDialogView(LayoutInflater inflater) { View view = inflater.inflate(R.layout.dialog_comment, parentContainer, false); tpStart = (TimePicker) view.findViewById(R.id.tpStart); tpStop = (TimePicker) view.findViewById(R.id.tpStop); etComment = (AutoCompleteTextView) view.findViewById(R.id.et_comment); businessProcess = BusinessProcess.getInstance(getActivity().getApplicationContext()); List<String> comments = businessProcess.searchComments(""); etComment.setAdapter(new CommentCompleteAdapter(getActivity(), comments)); tpStart.setIs24HourView(true); tpStop.setIs24HourView(true); Date startDate = businessProcess.getStartDate(); Date endDate = new Date(System.currentTimeMillis()); DateUtil.setDatePicker(tpStart, startDate); DateUtil.setDatePicker(tpStop, endDate); return view; } @Override protected int getTitleId() { return R.string.comment_title; } @Override protected boolean hasNegativeButton() { return false; } @Override protected boolean hasPositiveButton() { return true; } @Override public void onDestroy() { super.onDestroy(); if(!okClicked){ backPressListener.onBackPress(); } } @Override protected void onClickPositiveButton() { super.onClickPositiveButton(); getActivity().setProgressBarIndeterminateVisibility(true); businessProcess.saveComment(etComment.getText().toString()); new StopAsyncTask(getActivity().getApplicationContext(), projectName, DateUtil.getDate(tpStart), DateUtil.getDate(tpStop), stopTaskResultListener).execute(); okClicked = true; } public interface OnBackPressListener{ public void onBackPress(); } }