diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java b/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java index 61c53e764..3fcfffb7e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java @@ -21,6 +21,7 @@ import android.graphics.Color; import android.support.v4.app.Fragment; import android.text.TextUtils; import android.util.DisplayMetrics; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -114,6 +115,7 @@ public class EditPeopleControlSet extends PopupControlSet { public interface AssignedChangedListener { public boolean showTaskRabbitForUser(String name, JSONObject json); public boolean shouldShowTaskRabbit(); + public boolean didPostToTaskRabbit(); } int selected = 0; //need to remember last selected state for task rabbit @@ -389,6 +391,9 @@ public class EditPeopleControlSet extends PopupControlSet { if (l.shouldShowTaskRabbit()) { taskRabbitUser = new AssignedToUser(activity.getString(R.string.actfm_EPA_task_rabbit), new JSONObject().put("default_picture", R.drawable.task_rabbit_image)); listValues.add(taskRabbitUser); + if(l.didPostToTaskRabbit() && assignedIndex <= 0){ + assignedIndex = listValues.size()-1; + } } } @@ -457,8 +462,10 @@ public class EditPeopleControlSet extends PopupControlSet { for (AssignedChangedListener l : listeners) { if(l.showTaskRabbitForUser(user.label, user.user)) { - assignedList.setItemChecked(selected, true); - assignedList.setItemChecked(position, false); +// assignedList.setItemChecked(selected, true); +// assignedList.setItemChecked(position, false); + assignedDisplay.setText(user.toString()); + assignedCustom.setText(""); //$NON-NLS-1$ DialogUtilities.dismissDialog(activity, dialog); return; } @@ -529,8 +536,17 @@ public class EditPeopleControlSet extends PopupControlSet { assignedView = assignedCustom; } else { AssignedToUser item = (AssignedToUser) assignedList.getAdapter().getItem(assignedList.getCheckedItemPosition()); - if (item != null) + if (item != null) { + if (item.equals(taskRabbitUser)) { //don't want to ever set the user as the task rabbit user + Log.d("Edit People control set", "Equals task rabbit"); + item = (AssignedToUser) assignedList.getAdapter().getItem(0); + selected = 0; + } + else { + Log.d("Edit People control set", "Does not equal task rabbit"); + } userJson = item.user; + } } if (userJson != null) { diff --git a/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java b/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java index 3b2ce4c77..a6ec49d3b 100644 --- a/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitActivity.java @@ -274,6 +274,7 @@ public class TaskRabbitActivity extends FragmentActivity implements LocationList int arrayID = arrayType.getResourceId(i, 0); if (arrayID == R.string.tr_set_key_location) { TaskRabbitLocationControlSet set = new TaskRabbitLocationControlSet(this, R.layout.task_rabbit_row, titleID, i); + set.location = currentLocation; controls.add(set); } else if(arrayID == R.string.tr_set_key_deadline) { diff --git a/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitControlSet.java b/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitControlSet.java index c54df1ee1..131fa1b5e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitControlSet.java @@ -201,8 +201,7 @@ public class TaskRabbitControlSet extends TaskEditControlSet implements Assigned private String taskRabbitURL(String method) { - return TaskRabbitActivity.TASK_RABBIT_URL + "/api/v1/"+ method; - + return String.format("%S/api/v1/%S?client_id=%S&client_application=%S", TaskRabbitActivity.TASK_RABBIT_URL, method, TaskRabbitActivity.TASK_RABBIT_CLIENT_ID, TaskRabbitActivity.TASK_RABBIT_CLIENT_APPLICATION_ID); } /** Fire task rabbit if assigned **/ @@ -358,4 +357,15 @@ public class TaskRabbitControlSet extends TaskEditControlSet implements Assigned // TODO Auto-generated method stub } + + + + + @Override + public boolean didPostToTaskRabbit() { + if (taskRabbitTask == null) return false; + return taskRabbitTask.getTaskID() > 0; + } + + } diff --git a/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitLocationControlSet.java b/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitLocationControlSet.java index 149b395d7..52b40c2cd 100644 --- a/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitLocationControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/taskrabbit/TaskRabbitLocationControlSet.java @@ -30,7 +30,7 @@ public class TaskRabbitLocationControlSet extends TaskEditControlSet implements private final TextView displayText; private final TextView displayEdit; private final Activity activity; - private Location location; + public Location location; private String locationName; public int REQUEST_CODE_TASK_RABBIT_LOCATION = 6; @@ -133,7 +133,7 @@ public class TaskRabbitLocationControlSet extends TaskEditControlSet implements } public void updateCurrentLocation(Location currentLocation) { - if (location != null) { + if (location == null) { location = currentLocation; } } diff --git a/astrid/res/drawable/task_rabbit_logo.jpg b/astrid/res/drawable/task_rabbit_logo.jpg deleted file mode 100644 index d7e195049..000000000 Binary files a/astrid/res/drawable/task_rabbit_logo.jpg and /dev/null differ diff --git a/astrid/res/drawable/task_rabbit_logo.png b/astrid/res/drawable/task_rabbit_logo.png new file mode 100644 index 000000000..f0cb47462 Binary files /dev/null and b/astrid/res/drawable/task_rabbit_logo.png differ diff --git a/astrid/res/layout/task_rabbit_map_activity.xml b/astrid/res/layout/task_rabbit_map_activity.xml index 744925d10..20f594d06 100644 --- a/astrid/res/layout/task_rabbit_map_activity.xml +++ b/astrid/res/layout/task_rabbit_map_activity.xml @@ -22,8 +22,9 @@