Fix for repeats always checking today's day of week, making task selection turn orange background, fixed an issue with undeleting RTM tasks

pull/14/head
Tim Su 16 years ago
parent 644e52497c
commit 7eee8cddaf

@ -11,7 +11,6 @@ import java.util.Locale;
import android.content.Context;
import android.content.res.Resources;
import android.util.Log;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@ -131,31 +130,18 @@ public class DateUtilities {
}
/**
* @param context android context
* @return string used for date formatting
*/
@SuppressWarnings("nls")
private static String getDateFormatString(Context context) {
String value = android.provider.Settings.System.getString(context.getContentResolver(),
android.provider.Settings.System.DATE_FORMAT);
// validate value in case of unexpected errors
if(value != null) {
try {
new SimpleDateFormat(value);
} catch (IllegalArgumentException e ){
Log.e("date-format", "Illegal date format pattern: " + value, e);
value = null;
}
}
if (value == null) {
// united states, you are special
if (Locale.US.equals(Locale.getDefault())
|| Locale.CANADA.equals(Locale.getDefault()))
value = "MMM d yyyy";
else
value = "d MMM yyyy";
}
String value;
// united states, you are special
if (Locale.US.equals(Locale.getDefault())
|| Locale.CANADA.equals(Locale.getDefault()))
value = "MMM d yyyy";
else
value = "d MMM yyyy";
return value;
}

@ -84,7 +84,6 @@ public class RepeatControlSet implements TaskEditControlSet {
// set up days of week
DateFormatSymbols dfs = new DateFormatSymbols();
Calendar calendar = Calendar.getInstance();
int currentDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1.0f/7);
for(int i = 0; i < 7; i++) {
@ -94,8 +93,7 @@ public class RepeatControlSet implements TaskEditControlSet {
checkBox.setLayoutParams(lp);
checkBox.setTextSize(10);
checkBox.setTag(Weekday.values()[dayOfWeek - 1]);
if(dayOfWeek == currentDayOfWeek)
checkBox.setChecked(true);
daysOfWeek[i] = checkBox;
calendar.add(Calendar.DATE, 1);
daysOfWeekContainer.addView(checkBox);
@ -175,6 +173,10 @@ public class RepeatControlSet implements TaskEditControlSet {
case WEEKLY: {
interval.setSelection(INTERVAL_WEEKS);
// clear all day of week checks, then update them
for(int i = 0; i < 7; i++)
daysOfWeek[i].setChecked(false);
for(WeekdayNum day : rrule.getByDay()) {
for(int i = 0; i < 7; i++)
if(daysOfWeek[i].getTag() == day.wday)

@ -390,6 +390,18 @@ public class RTMSyncProvider extends SynchronizationProvider<RTMTaskContainer> {
rtmService.tasks_moveTo(timeline, Long.toString(remote.listId),
listId, taskSeriesId, taskId);
// either delete or re-create if necessary
if(shouldTransmit(local, Task.DELETION_DATE, remote)) {
if(local.task.getValue(Task.DELETION_DATE) > 0)
rtmService.tasks_delete(timeline, listId, taskSeriesId, taskId);
else if(remote == null) {
RtmTaskSeries rtmTask = rtmService.tasks_add(timeline, listId,
local.task.getValue(Task.TITLE));
remote = parseRemoteTask(rtmTask);
transferIdentifiers(remote, local);
}
}
if(shouldTransmit(local, Task.TITLE, remote))
rtmService.tasks_setName(timeline, listId, taskSeriesId,
taskId, local.task.getValue(Task.TITLE));
@ -408,10 +420,6 @@ public class RTMSyncProvider extends SynchronizationProvider<RTMTaskContainer> {
rtmService.tasks_complete(timeline, listId, taskSeriesId,
taskId);
}
if(shouldTransmit(local, Task.DELETION_DATE, remote) &&
local.task.getValue(Task.DELETION_DATE) > 0)
rtmService.tasks_delete(timeline, listId, taskSeriesId,
taskId);
// tags
HashSet<String> localTags = new HashSet<String>();

@ -11,16 +11,15 @@ import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Color;
import android.graphics.Paint;
import android.text.Html;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.view.View.OnCreateContextMenuListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.CheckBox;
@ -495,7 +494,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
for(View view : viewHolder.decorations)
viewHolder.taskRow.removeView(view);
}
viewHolder.view.setBackgroundColor(Color.TRANSPARENT);
viewHolder.view.setBackgroundResource(android.R.drawable.list_selector_background);
}
}

Loading…
Cancel
Save