If task had no due time, edit box should reflect this

pull/14/head
Tim Su 16 years ago
parent 3e2c86ff72
commit 5b5dd9e55e

@ -690,14 +690,17 @@ public final class TaskEditActivity extends TabActivity {
OnItemSelectedListener, OnDeadlineTimeSetListener, OnDateSetListener,
OnCancelListener {
private static final long SPECIFIC_DATE = -1;
private static final int SPECIFIC_DATE = -1;
private static final int EXISTING_TIME_UNSET = -2;
private final Spinner spinner;
private ArrayAdapter<UrgencyValue> urgencyAdapter;
private int previousSetting = Task.URGENCY_NONE;
private int existingDateHour = -1;
private int existingDateMinutes = -1;
private long existingDate = EXISTING_TIME_UNSET;
private int existingDateHour = EXISTING_TIME_UNSET;
private int existingDateMinutes = EXISTING_TIME_UNSET;
/**
* Container class for urgencies
@ -762,6 +765,8 @@ public final class TaskEditActivity extends TabActivity {
for(int i = 0; i < urgencyValues.length; i++)
if(urgencyValues[i].dueDate == dueDate) {
selection = i;
if(dueDate > 0)
existingDate = dueDate;
break;
}
@ -773,11 +778,14 @@ public final class TaskEditActivity extends TabActivity {
Date dueDateAsDate = new Date(dueDate);
updated[0] = new UrgencyValue(DateUtilities.getDateStringWithTime(TaskEditActivity.this, dueDateAsDate),
Task.URGENCY_SPECIFIC_DAY_TIME, dueDate);
existingDate = dueDate;
existingDateHour = dueDateAsDate.getHours();
existingDateMinutes = dueDateAsDate.getMinutes();
} else {
updated[0] = new UrgencyValue(DateUtilities.getDateString(TaskEditActivity.this, new Date(dueDate)),
Task.URGENCY_SPECIFIC_DAY, dueDate);
existingDate = dueDate;
existingDateHour = SPECIFIC_DATE;
}
selection = 0;
urgencyValues = updated;
@ -800,7 +808,7 @@ public final class TaskEditActivity extends TabActivity {
UrgencyValue item = urgencyAdapter.getItem(position);
if(item.dueDate == SPECIFIC_DATE) {
customSetting = item.setting;
customDate = new Date();
customDate = new Date(existingDate == EXISTING_TIME_UNSET ? DateUtilities.now() : existingDate);
customDate.setSeconds(0);
DatePickerDialog datePicker = new DatePickerDialog(TaskEditActivity.this,
this, 1900 + customDate.getYear(), customDate.getMonth(), customDate.getDate());
@ -831,14 +839,17 @@ public final class TaskEditActivity extends TabActivity {
return;
}
if(existingDateHour == -1)
boolean specificTime = existingDateHour != SPECIFIC_DATE;
if(existingDateHour < 0) {
existingDateHour = customDate.getHours();
if(existingDateMinutes == -1)
existingDateMinutes= customDate.getMinutes();
}
DeadlineTimePickerDialog timePicker = new DeadlineTimePickerDialog(TaskEditActivity.this, this,
existingDateHour, existingDateMinutes,
DateUtilities.is24HourFormat(TaskEditActivity.this));
DateUtilities.is24HourFormat(TaskEditActivity.this),
specificTime);
timePicker.setOnCancelListener(this);
timePicker.show();
}

@ -82,9 +82,9 @@ public class DeadlineTimePickerDialog extends AlertDialog implements OnClickList
*/
public DeadlineTimePickerDialog(Context context,
OnDeadlineTimeSetListener callBack,
int hourOfDay, int minute, boolean is24HourView) {
int hourOfDay, int minute, boolean is24HourView, boolean hasTime) {
this(context, android.R.style.Theme_Dialog,
callBack, hourOfDay, minute, is24HourView);
callBack, hourOfDay, minute, is24HourView, hasTime);
}
/**
@ -98,7 +98,7 @@ public class DeadlineTimePickerDialog extends AlertDialog implements OnClickList
public DeadlineTimePickerDialog(Context context,
int theme,
OnDeadlineTimeSetListener callBack,
int hourOfDay, int minute, boolean is24HourView) {
int hourOfDay, int minute, boolean is24HourView, boolean hasTime) {
super(context, theme);
mCallback = callBack;
mInitialHourOfDay = hourOfDay;
@ -118,7 +118,7 @@ public class DeadlineTimePickerDialog extends AlertDialog implements OnClickList
setView(view);
mTimePicker = (TimePicker) view.findViewById(R.id.timePicker);
mHasTime = (CheckBox) view.findViewById(R.id.hasTime);
mHasTime.setOnCheckedChangeListener(new OnCheckedChangeListener() {
OnCheckedChangeListener listener = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
@ -128,8 +128,10 @@ public class DeadlineTimePickerDialog extends AlertDialog implements OnClickList
else
setTitle(R.string.TEA_urgency_time_none);
}
});
mHasTime.setChecked(true);
};
mHasTime.setOnCheckedChangeListener(listener);
mHasTime.setChecked(hasTime);
listener.onCheckedChanged(null, hasTime);
// initialize state
mTimePicker.setCurrentHour(mInitialHourOfDay);

Loading…
Cancel
Save