package com.quemb.qmbform.view;
import com.quemb.qmbform.R;
import com.quemb.qmbform.descriptor.RowDescriptor;
import android.content.Context;
import android.os.Build;
import android.text.format.DateFormat;
import android.widget.TimePicker;
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.TimeUnit;
/**
* Created by tonimoeckel on 15.07.14.
*/
public class FormTimeInlineFieldCell extends FormTimeFieldCell implements
TimePicker.OnTimeChangedListener {
private TimePicker mTimePicker;
public FormTimeInlineFieldCell(Context context,
RowDescriptor rowDescriptor) {
super(context, rowDescriptor);
}
@Override
protected void init() {
super.init();
mTimePicker = (TimePicker) findViewById(R.id.timePicker);
}
@Override
protected int getResource() {
return R.layout.time_inline_field_cell;
}
@SuppressWarnings("deprecation")
@Override
protected void initDatePicker(Calendar calendar) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
mTimePicker.setHour(calendar.get(Calendar.HOUR_OF_DAY));
mTimePicker.setMinute(calendar.get(Calendar.MINUTE));
}
else
{
mTimePicker.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY));
mTimePicker.setCurrentMinute(calendar.get(Calendar.MINUTE));
}
mTimePicker.setOnTimeChangedListener(this);
if (DateFormat.is24HourFormat(getContext()))
mTimePicker.setIs24HourView(true);
}
@Override
public void onCellSelected() {
super.onCellSelected();
mTimePicker.setVisibility(mTimePicker.getVisibility() == VISIBLE ? GONE : VISIBLE);
}
public TimePicker getTimePicker() {
return mTimePicker;
}
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
Date date = new Date();
date.setTime(TimeUnit.HOURS.toMillis(hourOfDay) + TimeUnit.MINUTES.toMillis(minute));
onDateChanged(date);
}
}