package de.saxsys.android.projectiler.app;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.TimePicker;
import org.droidparts.activity.Activity;
import org.droidparts.annotation.inject.InjectView;
import java.util.Date;
import java.util.List;
import de.saxsys.android.projectiler.app.backend.DateUtil;
import de.saxsys.android.projectiler.app.receiver.ProjectilerBroadcastReceiver;
import de.saxsys.android.projectiler.app.ui.adapter.CommentCompleteAdapter;
import de.saxsys.android.projectiler.app.utils.BusinessProcess;
public class CommentActivity extends Activity implements View.OnClickListener {
private final String TAG = CommentActivity.class.getSimpleName();
@InjectView(id = R.id.btn_ok, click = true)
private Button okButton;
@InjectView(id = R.id.et_comment)
private AutoCompleteTextView etComment;
@InjectView(id = R.id.tpStart)
private TimePicker tpStart;
@InjectView(id = R.id.tpStop)
private TimePicker tpStop;
private BusinessProcess businessProcess;
@Override
public void onPreInject() {
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_comment);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tpStart.setIs24HourView(true);
tpStop.setIs24HourView(true);
businessProcess = BusinessProcess.getInstance(getApplicationContext());
Date startDate = businessProcess.getStartDate();
Date endDate = new Date(System.currentTimeMillis());
DateUtil.setDatePicker(tpStart, startDate);
DateUtil.setDatePicker(tpStop, endDate);
List<String> comments = businessProcess.searchComments("");
etComment.setAdapter(new CommentCompleteAdapter(this, comments));
}
@Override
public void onClick(View view) {
if(view == okButton){
Log.i(TAG, "Click on okButton");
businessProcess.saveComment(etComment.getText().toString());
Date startDate = DateUtil.getDate(tpStart);
Date endDate = DateUtil.getDate(tpStop);
Intent intent = new Intent(getApplicationContext(), ProjectilerBroadcastReceiver.class);
intent.setAction(ProjectilerBroadcastReceiver.ACTION_STOP);
intent.putExtra(ProjectilerBroadcastReceiver.EXTRAS_START_DATE, startDate.getTime());
intent.putExtra(ProjectilerBroadcastReceiver.EXTRAS_END_DATE, endDate.getTime());
PendingIntent stopPendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0);
try {
Log.i(TAG, "send broadcast stop with data " + startDate + " " + endDate);
stopPendingIntent.send(getApplicationContext(), 0, intent);
} catch (PendingIntent.CanceledException e) {
Log.e(TAG, e.getMessage());
}
finish();
}
}
}