diff --git a/astrid/common-src/com/todoroo/andlib/utility/DateUtilities.java b/astrid/common-src/com/todoroo/andlib/utility/DateUtilities.java index fedd16937..b4eba3a56 100644 --- a/astrid/common-src/com/todoroo/andlib/utility/DateUtilities.java +++ b/astrid/common-src/com/todoroo/andlib/utility/DateUtilities.java @@ -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; } diff --git a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatControlSet.java b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatControlSet.java index aa5b5e653..8b81b7f17 100644 --- a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatControlSet.java @@ -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) diff --git a/astrid/plugin-src/com/todoroo/astrid/rmilk/sync/RTMSyncProvider.java b/astrid/plugin-src/com/todoroo/astrid/rmilk/sync/RTMSyncProvider.java index 3bb6a8fe4..1f59e67df 100644 --- a/astrid/plugin-src/com/todoroo/astrid/rmilk/sync/RTMSyncProvider.java +++ b/astrid/plugin-src/com/todoroo/astrid/rmilk/sync/RTMSyncProvider.java @@ -390,6 +390,18 @@ public class RTMSyncProvider extends SynchronizationProvider { 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 { 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 localTags = new HashSet(); diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 881eccb90..9bd3d4e05 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -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); } }