mirror of https://github.com/tasks/tasks
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.6 KiB
Java
82 lines
2.6 KiB
Java
package com.todoroo.astrid.timers;
|
|
|
|
import android.app.Activity;
|
|
import android.view.LayoutInflater;
|
|
import android.view.ViewGroup;
|
|
|
|
import com.timsu.astrid.R;
|
|
import com.todoroo.andlib.data.Property.IntegerProperty;
|
|
import com.todoroo.andlib.service.DependencyInjectionService;
|
|
import com.todoroo.astrid.activity.TaskEditActivity.TaskEditControlSet;
|
|
import com.todoroo.astrid.model.Task;
|
|
import com.todoroo.astrid.ui.TimeDurationControlSet;
|
|
import com.todoroo.astrid.ui.TimeDurationControlSet.TimeDurationType;
|
|
|
|
/**
|
|
* Control Set for managing repeats
|
|
*
|
|
* @author Tim Su <tim@todoroo.com>
|
|
*
|
|
*/
|
|
public class TimerControlSet implements TaskEditControlSet {
|
|
|
|
private final Activity activity;
|
|
|
|
TaskEditControlSet estimated, elapsed;
|
|
|
|
public TimerControlSet(final Activity activity, ViewGroup parent) {
|
|
DependencyInjectionService.getInstance().inject(this);
|
|
|
|
this.activity = activity;
|
|
LayoutInflater.from(activity).inflate(R.layout.timer_control, parent, true);
|
|
|
|
estimated = new TimeDurationTaskEditControlSet(Task.ESTIMATED_SECONDS,
|
|
R.id.estimatedDuration, 0, R.string.DLG_hour_minutes,
|
|
TimeDurationType.HOURS_MINUTES);
|
|
elapsed = new TimeDurationTaskEditControlSet(Task.ELAPSED_SECONDS, R.id.elapsedDuration,
|
|
0, R.string.DLG_hour_minutes,
|
|
TimeDurationType.HOURS_MINUTES);
|
|
}
|
|
|
|
@Override
|
|
public void readFromTask(Task task) {
|
|
estimated.readFromTask(task);
|
|
elapsed.readFromTask(task);
|
|
}
|
|
|
|
@Override
|
|
public void writeToModel(Task task) {
|
|
estimated.writeToModel(task);
|
|
elapsed.writeToModel(task);
|
|
}
|
|
|
|
// --- TimeDurationTaskEditControlSet
|
|
|
|
/**
|
|
* Control set for mapping a Property to a TimeDurationControlSet
|
|
* @author Tim Su <tim@todoroo.com>
|
|
*
|
|
*/
|
|
public class TimeDurationTaskEditControlSet implements TaskEditControlSet {
|
|
private final TimeDurationControlSet controlSet;
|
|
private final IntegerProperty property;
|
|
|
|
public TimeDurationTaskEditControlSet(IntegerProperty property, int timeButtonId,
|
|
int prefixResource, int titleResource, TimeDurationType type) {
|
|
this.property = property;
|
|
this.controlSet = new TimeDurationControlSet(activity,
|
|
timeButtonId, prefixResource, titleResource, type);
|
|
}
|
|
|
|
@Override
|
|
public void readFromTask(Task task) {
|
|
controlSet.setTimeDuration(task.getValue(property));
|
|
}
|
|
|
|
@Override
|
|
public void writeToModel(Task task) {
|
|
task.setValue(property, controlSet.getTimeDurationInSeconds());
|
|
}
|
|
}
|
|
|
|
} |