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 @@