/** * Create a task container for the given remote task * * @throws JSONException */ private GtasksTaskContainer parseRemoteTask( com.google.api.services.tasks.model.Task remoteTask, String listId) { Task task = new Task(); ArrayList<Metadata> metadata = new ArrayList<Metadata>(); task.setValue(Task.TITLE, remoteTask.getTitle()); task.setValue(Task.CREATION_DATE, DateUtilities.now()); task.setValue( Task.COMPLETION_DATE, GtasksApiUtilities.gtasksCompletedTimeToUnixTime(remoteTask.getCompleted(), 0)); if (remoteTask.getDeleted() == null || !remoteTask.getDeleted().booleanValue()) task.setValue(Task.DELETION_DATE, 0L); else if (remoteTask.getDeleted().booleanValue()) task.setValue(Task.DELETION_DATE, DateUtilities.now()); if (remoteTask.getHidden() != null && remoteTask.getHidden().booleanValue()) task.setValue(Task.DELETION_DATE, DateUtilities.now()); long dueDate = GtasksApiUtilities.gtasksDueTimeToUnixTime(remoteTask.getDue(), 0); long createdDate = Task.createDueDate(Task.URGENCY_SPECIFIC_DAY, dueDate); task.setValue(Task.DUE_DATE, createdDate); task.setValue(Task.NOTES, remoteTask.getNotes()); Metadata gtasksMetadata = GtasksMetadata.createEmptyMetadata(AbstractModel.NO_ID); gtasksMetadata.setValue(GtasksMetadata.ID, remoteTask.getId()); gtasksMetadata.setValue(GtasksMetadata.LIST_ID, listId); GtasksTaskContainer container = new GtasksTaskContainer(task, metadata, gtasksMetadata); return container; }